作為程式設計師,我們時常被外界誤認為很悶、不浪漫、沒創意……等等這一類人,這讓我們實在有些感傷啊,我得為程式設計師吶喊一聲:
我們也能可以歡快、浪漫、有創意……
朋友,你向女生表白過嗎?
這個問題有點兒羞澀,但是我今兒叫你一招 —— 用我們程式設計師的方式表白^_^
呵呵,說到這裡,你可能已經猜到:該不是程式設計序吧?
我告訴你:of course!!!
好吧,我今兒就來先秀一下我的創意(我可是求愛表白成功了喲……這一招還蠻實用,對於我們程式設計師來說,哈哈)
先來**一下我的idea(其實比較簡單),我的程式分為三部分:
(1)來一張賞心悅目的背景
(2)逐個字顯示一首情詩^_^
(3)來一首催人淚下的、優美的歌曲
先來看看效果:
好吧,我們來具體談談如何實現
(1)背景 就是貼一張bmp點陣圖
這個和之前說的貼法一樣,還是來看看**:
現在wm_create訊息中載入位圖資訊:
[cpp]view plain
copy
print?
/*************************載入位圖***********************/
hinstance = ((lpcreatestruct)lparam)->hinstance; //獲取視窗的例項控制代碼
hbitmap = loadbitmap(hinstance, makeintresource(idb_bitmap1)); //將位圖載入到記憶體中
getobject(hbitmap, sizeof(bitmap), &bitmap);
cxbitmap = bitmap.bmwidth;//獲取點陣圖的長
cybitmap = bitmap.bmheight;//獲取點陣圖的寬
/*************************載入位圖***********************/
hinstance = ((lpcreatestruct)lparam)->hinstance; //獲取視窗的例項控制代碼
hbitmap = loadbitmap(hinstance, makeintresource(idb_bitmap1)); //將位圖載入到記憶體中
getobject(hbitmap, sizeof(bitmap), &bitmap);
cxbitmap = bitmap.bmwidth;//獲取點陣圖的長
cybitmap = bitmap.bmheight;//獲取點陣圖的寬
然後在wm_paint訊息中繪製背景
[cpp]view plain
copy
print?
//繪製背景
hdc = beginpaint(hwnd, &ps);
hdcmem = createcompatibledc(hdc);//建立乙個相容於hdc裝置環境描述表的hdcmem 主要是用於在記憶體中截圖
selectobject(hdcmem, hbitmap); //將位圖選到hdcmem中
bitblt(hdc, -1, -1, cxbitmap, cybitmap, hdcmem, 0, 0, srccopy);//繪製bmp點陣圖
deletedc(hdcmem);
endpaint(hwnd, &ps);
//繪製背景
hdc = beginpaint(hwnd, &ps);
hdcmem = createcompatibledc(hdc);//建立乙個相容於hdc裝置環境描述表的hdcmem 主要是用於在記憶體中截圖
selectobject(hdcmem, hbitmap); //將位圖選到hdcmem中
bitblt(hdc, -1, -1, cxbitmap, cybitmap, hdcmem, 0, 0, srccopy);//繪製bmp點陣圖
deletedc(hdcmem);
endpaint(hwnd, &ps);
(2)繪製文字
先將詩歌儲存到乙個txt文件中,然後讀取這個檔案(這個是c基礎,應該不用多說吧)
具體**如下:
[cpp]view plain
copy
print?
//設定文字顏色
settextcolor(hdc, rgb(rand()%255, rand()%255, rand()%255));
setbkmode(hdc,transparent);//設定文字的背景透明
//設定文字顏色
settextcolor(hdc, rgb(rand()%255, rand()%255, rand()%255));
setbkmode(hdc,transparent);//設定文字的背景透明
[cpp]view plain
copy
print?
//顯示乙個字
int showword(hdc hdc)
} if(fscanf(fp, "%c", &c) != eof)
else
return 0;
} return eof;
}
//顯示乙個字
int showword(hdc hdc)
} if(fscanf(fp, "%c", &c) != eof)
else
return 0;
} return eof;
}
這個就是用大家很熟悉的playsound()函式
由於需要留給大家發揮的空間,我使用的詩歌和歌曲不是原創,哥們你可以自己來一首詩、自己錄一段音……總之你可以盡情發揮你的想象,把你未來的女朋友拿下o(∩_∩)o哈哈~
最後預祝程式設計師們表白成功
程式設計師表白程式.zip
程式設計師愛情表白
我能抽象出整個世界 但是我不能抽象出你 因為你在我心中是那麼的具體 所以我的世界並不完整 我可以過載甚至覆蓋這個世界裡的任何一種方法 但是我卻不能過載對你的思念 也許命中註定了 你在我的世界裡永遠的烙上了靜態的屬性 而我不慎呼叫了愛你這個方法 當我義無返顧的把自己作為引數傳進這個方法時 我才發現愛上...
程式設計師的愛情表白 )
我能抽象出整個世界 但是我不能抽象出你 因為你在我心中是那麼的具體 所以我的世界並不完整 我可以過載甚至覆蓋這個世界裡的任何一種方法 但是我卻不能過載對你的思念 也許命中註定了 你在我的世界裡永遠的烙上了靜態的屬性 而我不慎呼叫了愛你這個方法 當我義無返顧的把自己作為引數傳進這個方法時 我才發現愛上...
程式設計師的愛情表白
我能抽象出整個世界 但是我不能抽象出你 因為你在我心中是那麼的具體 所以我的世界並不完整 我可以過載甚至覆蓋這個世界裡的任何一種方法 但是我卻不能過載對你的思念 也許命中註定了 你在我的世界裡永遠的烙上了靜態的屬性 而我不慎呼叫了愛你這個方法 當我義無返顧的把自己作為引數傳進這個方法時 我才發現愛上...