#include
#define sourcexw 150
#define sourceyh 150//鍵盤的起始位置
#define wkeyw 40
#define hkeyh 40//基本鍵的高 寬
#define keyt 60 //定義tab的寬度;
#define wkeye 70 //定義enter建的寬度;
#define wkeys 100 //定義shift的寬度;
#define wkeyk 280 //定義空格鍵的寬度;
#define totalkeyw 600
#define totalkeyh 230//鍵盤的大小
#define th 3
#define tw 3
lresult callback wndproc(hwnd,uint,wparam,lparam);
int winapi winmain(hinstance hinstance,hinstance hprevinstance,pstr szcmdline,int icmdshow)
cw_usedefault, cw_usedefault,cw_usedefault,null,null,hinstance,null);
showwindow(hwnd,icmdshow);
updatewindow(hwnd);
while(getmessage(&msg,null,0,0))
return msg.wparam ;
}/*rect rect[40];
rect[0].left=
rect[0].right=rect[0].left+40;
rect[0].top=
rect[0].left=*/
/*畫乙個按鈕的函式*/
void createkeyboard(hdc hdc,int sourcex,int sourcey,int wkey,int hkey,lpctstr str)
lresult callback wndproc(hwnd hwnd, uint message, wparam wparam,lparam lparam)
;lpcstr str2=;
lpcstr str3=;
lpcstr str4=;
hbrush hbr1=createsolidbrush(rgb(255,0,0));
hbrush hbr2=createsolidbrush(rgb(0,255,0));
hbrush hbr3=createsolidbrush(rgb(0,0,255));
hbrush hbr4=createhatchbrush(hs_cross,rgb(250,50,100));
point pt=,,,,};
switch(message)
createkeyboard(hdc,sourcexw+wkeyw*13,sourceyh,keyt,hkeyh,"退格");
createkeyboard(hdc,sourcexw,sourceyh+hkeyh+th,keyt,hkeyh,"tab");
for(i=0;i<13;i++)
createkeyboard(hdc,sourcexw,sourceyh+(hkeyh+th)*2,wkeye,hkeyh,"caps");
for(i=0;i<11;i++)
createkeyboard(hdc,sourcexw+wkeyw*11+wkeye,sourceyh+(hkeyh+th)*2,wkeye,hkeyh,"enter");
createkeyboard(hdc,sourcexw,sourceyh+(hkeyh+th)*3,wkeys,hkeyh,"shift");
for(i=0;i<10;i++)
createkeyboard(hdc,sourcexw,sourceyh+(hkeyh+th)*4,keyt,hkeyh,"ins");
createkeyboard(hdc,sourcexw+wkeys,sourceyh+(hkeyh+th)*4,keyt,wkeyw,"del");
createkeyboard(hdc,sourcexw+wkeys+keyt,sourceyh+(hkeyh+th)*4,wkeyk,hkeyh,"");
createkeyboard(hdc,sourcexw+wkeyw*13,sourceyh+(hkeyh+th)*4,keyt,wkeyw,"esc");
return 0;
case wm_destroy:
// deleteobject(hbr);
postquitmessage(0);
return 0;
}return defwindowproc(hwnd,message,wparam,lparam);
}
Windows程式設計 鍵盤
窗體在失去焦點的時候發出 wm wm killfocus 窗體在獲得焦點的時候會發出 wm getfocus 只有活動視窗 會受到鍵盤訊息 受到鍵盤訊息的窗體可以是 活動窗體 也可以是活動窗體的 子窗體 也可以是活動窗體的 衍生窗體 字元資訊 例如 a按下了 既有字元資訊也有按鍵資訊 alt f4按...
Windows程式設計 鍵盤
窗體在失去焦點的時候發出 wm wm killfocus 窗體在獲得焦點的時候會發出 wm getfocus 只有活動視窗 會受到鍵盤訊息 受到鍵盤訊息的窗體可以是 活動窗體 也可以是活動窗體的 子窗體 也可以是活動窗體的 衍生窗體 字元資訊 例如 a按下了 既有字元資訊也有按鍵資訊 alt f4按...
windows程式設計筆記 八 畫筆與畫刷
在使用winapi繪圖的話,先要定義畫筆和畫刷 他們都是gui中所定義的圖形物件。hpen createpen int 樣式,int 寬度,rgb 255,0,0 建立畫筆 hbrush createhatchbrush int 樣式,rgb 255,0,0 建立陰影畫刷 hbrush create...