CreateWindow 创建的窗口的方向键问题 (100分)

  • 主题发起人 主题发起人 idon
  • 开始时间 开始时间
I

idon

Unregistered / Unconfirmed
GUEST, unregistred user!
var<br>&nbsp;dwStyle : DWord;<br>begin<br>&nbsp; &nbsp;dwStyle := WS_VISIBLE or WS_CHILD or ES_MULTILINE &nbsp;or WS_TABSTOP ;<br>&nbsp; &nbsp;FEditWnd := CreateWindow('Edit', 'edit1', dwStyle, 20, 40, 60,80, Handle, 1, hInstance, nil);<br>&nbsp; &nbsp;ShowWindow(FEditWnd,SW_SHOWNORMAL);<br>&nbsp; &nbsp;Windows.SetFocus(FEditWnd);<br><br>1先创建一个window 此时编辑时方向键能用(Edit的Tabstop设成false 否则方向键用不了)<br>2.光标移开入一个edit<br>3.光标再移入刚创建的window 此时方向键不能用 <br>why ?<br>方向键怎样才能用 。
 
帮忙提前也好啊
 
怪事,看你代码,应该没问题。
 
自类化Edit
 
dwStyle := WS_VISIBLE or WS_CHILD or ES_MULTILINE &nbsp;or WS_TABSTOP ;<br>FEditWnd := CreateWindow('Edit', 'edit1', dwStyle, 20, 40, 60,80, Handle, 1, hInstance, nil);<br>ShowWindow(FEditWnd,SW_SHOWNORMAL);<br><br>已经有WS_VISIBLE还要ShowWindow,浪费啊、浪费(此人看来不会写window程序,<br>可能以前一直在unix下开发);<br><br>给你一个提示:<br>window和dialog不同,你可以子类化Edit;<br><br>WNDPROC oldProc;<br>LRESULT CALLBACK newProc(HWND,UINT,WPARAM,LPARAM)<br><br>oldProc = SetWindowLong(FEditWnd, GWL_WNDPROC, (long)newProc);<br>LRESULT CALLBACK newProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam)<br>{<br>&nbsp;//这里加上你自己的键盘逻辑就可以了 <br>&nbsp;CallWindowProc(oldProc, hwnd, msg,wParam, lParam);<br>}<br><br>
 
我已经搞好了 我就讨厌简单问题复杂化 你们都去子类化吧 帖子我真想删了 <br>分呢 能不能做慈善事业 建议坛主给我们一个可以捐献分数的地方<br>
 

Similar threads

后退
顶部