實現的主要功能如下:
程式預設圖示為?,預設游標為左右箭頭,在指定位置輸出 文字訊息
單擊滑鼠左鍵時,彈出對應點的位置座標(注意座標轉換)
單擊鍵盤的上下左右鍵時,彈出對應的對話方塊(鍵盤訊息的處理方式)
#include "windows.h"
#include "stdio.h"
lresult callback dealmessage(hwnd hwnd, uint umsg, wparam wparam, lparam lparam)
; int x = 10, y = 10;
point pt;//cpoint pt;
getcursorpos(&pt);//該函式檢取游標的位置,以螢幕座標表示, 如果為了與textout 相比的話,則需要將螢幕座標轉換為客戶區座標
screentoclient(hwnd, &pt);//的將螢幕座標轉換為客戶區座標//textout中就是客戶區座標
x = pt.x;
y = pt.y;
wsprintf(buf,text("x = %d , y = %d"),x,y);
messagebox(hwnd,buf,text("座標"),mb_ok);
} break;
//關閉程式
case wm_destroy://wm_quit//只有發這個命令時,關閉除錯程式時,**上的除錯才會結束
postquitmessage(2);
break;
case wm_paint://輸出文字
case wm_keydown://當有鍵盤輸入事件時,會產生 wm_keydown 訊息
break;
} default:
return defwindowproc(hwnd, umsg,wparam, lparam);
} return 0;
}int winapi winmain(
hinstance hinstance,
hinstance hprevinstance,
lpstr lpcmdline,
int nshowcmd)
,cw_usedefault, cw_usedefault,null, null, hinstance, null);//createwindow中視窗類與 wndclass中視窗類名必須一樣才可以,否則也是執行不了
if (!hwnd)
movewindow(hwnd,30,30,580,480,true);//相對整個桌面螢幕的左上角。。。測試過
showwindow(hwnd,sw_normal);
updatewindow(hwnd);
while (getmessage(&msg,null,0,0))
return 1;
}
winAPI視窗程式流程
1 定義入口函式winmain 2 建立乙個視窗 1 設定視窗類wndclass 給成員變數賦值 2 註冊視窗類 3 建立視窗類 4 顯示和更新視窗 3 訊息迴圈 4 視窗過程函式 include 視窗過程函式 lresult callback windowproc in hwnd hwnd,in ...
基於WINAPI的檔案操作
基於winapi的檔案操作 winapi提供了兩種檔案操作函式,一組是為了和16位程式相容,這種函式比較簡單 而另一種是專門為32位程式設計,在使用時就顯得麻煩些,下面我就把這兩組函式一一介紹 一 和16位程式相容的一組函式函式 說明對應bcb庫函式 lopen 開啟檔案 fileopen lclo...
使用WinAPI建立視窗方法
控制台建立視窗 同時有控制台視窗和新建立的視窗 專案型別 控制台應用程式 include windows.h include tchar.h lresult callback windowproc hwnd hwnd,uint umsg,wparam wparam,lparam lparam int...