易語言編程開發教程之使用windows api創建窗口
工具/原料
registerclass(用于注冊窗口類信息)在創建窗口前要使用其先登記窗口類信息
createwindow(用于創建窗口)
showwindow(顯示窗口)
defwindowproca 必須有否則窗口將不會由變化且見不到窗口
dispatchmessage(派發系統消息)
getmessage(獲取系統消息)
sendmessage 發送消息
getmodulehandlea 獲取模塊句柄,很有用
translatemessage 翻譯消息,將虛擬消息轉換為字符消息
方法/步驟
打開易語言軟件,創建windows控制臺程序,通過Eapi助手依次插入上面的dll,及自定義數據類型(在插入dll的同時一般都會自動插入),在這里只會用到一個自定義數據類型WNDCLASS,如圖
ps:1.若有MSG數據類型,將其刪除,dll函數里面的MSG統統都改為整型數據類型
2.WNDCLASS 的回調函數那一欄將其類型改為”子程序指針“
創建全局變量
1.定義一個全局文本型變量”類名“,將在第三步、五步使用
2.定義一個全局整數型型變量”模塊句柄“,將在第三步、五步使用
創建子程序”登記窗口類“
ps:1.里面有個”窗口類.類名“,即為那個全局變量
2..里面有個”窗口類.模塊句柄“,即為那個全局變量
創建回調函數(函數名自定義)
格式 返回類型 整數型
參數1 整數型 句柄
參數2 整數型 消息
參數3 整數型 附加參數
參數4 整數型 附加參數
每一個返回處要注意使用defwindowproca函數 如圖
ps:defwindowproca函數的第一個參數為句柄,一定要用回調函數里面的參數1的值,不要用其他的,否則會創建窗口失敗
創建子程序”創建窗口“
在這里面最重要的就是使用dll”createwindow“函數了
其參數里面的第二個參數”類名“,即為之前創建的全局變量”類名“;
參數”模塊句柄“,即是前面定義的全局變量”模塊句柄“
第三個參數為窗口標題,即顯示在窗口標題欄的東西;
其他參數”菜單句柄“、”父窗口句柄“、”附加參數“皆可為0
寫啟動子程序(即系統自行創建的那個子程序),如圖
定義好全局變量的值
7
以上ok后,點擊菜單欄的”程序“點擊”配置“,將”windows控制臺程序“更改為”windows窗口程序“。
新聞熱點
疑難解答