導致CreateWindow建立視窗失敗的一種原因

2021-06-14 14:35:34 字數 789 閱讀 5345

createwindow返回null,getlasterror()返回0

經過網上蒐集資料和單步除錯發現問題

在程式呼叫createwindow函式之前會首先呼叫wndproc具體原因暫時不詳,(我的程式這裡好像是會呼叫三次wndproc,可能是系統傳送的訊息),然後會呼叫createwindow,所以當前幾次呼叫wndproc時需要返回ture才會成功建立window。

這是之前的wndproc函式**

lresult callback myframe::__wndproc(hwnd hwnd, uint umsg, wparam wparam, lparam lparam)

return 0;

}

default:

::defwindowproc(hwnd, umsg, wparam, lparam);

改為

default:

return ::defwindowproc(hwnd, umsg, wparam, lparam);

即可,修改後成功建立window的**為

lresult callback myframe::__wndproc(hwnd hwnd, uint umsg, wparam wparam, lparam lparam)

return 0;

}

將預設的訊息傳給defwindowproc來處理,並返回其處理後的結果。

CreateWindow函式返回NULL

在學習windows開發期間,遇到的問題。寫了乙個gui專案,執行之後,沒有反應。除錯後發現,createwindow函式返回null。大概的 如下 include main.h include includechar szfilepath max path char szresult 4096 c...

CreateWindow建立子視窗失敗

在學習 windows程式設計 過程中,經常會遇到問題,每次懷疑書上寫的有問題,當然,每次都會證明是自己的問題,下面是一次建立視窗失敗的問題查詢。之前是一直在模板上改需要自定義的部分引數,但是當自己手動建立的時候,問題總是一堆一堆的 1 沒有註冊類就直接建立,createwindow會返回空值 2 ...

CreateWindow 建立普通的視窗

1 函式原型 1 hwnd createwindow 2 lpctstr lpclassname,pointer to register class name 3 lpctstr lpwindowname,pointer to window name 4 dword dwstyle,window s...