主题:用CreateWindow()建立文本框后遇到的种种问题
新建了一个windows应用程序,在用CreateWindow()建立了SDI窗口之后,紧接着使用CreateWindow()在窗口客户区建立了一个文本框(类名写成“EDIT”就能创建),然后就遇到了各种问题,真是让人愁肠百结,郁闷无比,因为根本就找不到这方面的书籍,只能借鉴VC或VB中API函数的使用方法来摸索。已经解决了一些,剩下的就只能靠大神帮忙了。如果哪位能知道一星半点也请不吝赐教,小弟会慢慢去查的,在此先说声谢谢了。
1.文本框中文本的输入输出问题。 我现在用的是
[center]ret=sendmessage(ghedit,WM_SETTEXT,0,loc(gtext)) [/center]
可是这样必须不停的提取、合并字符串,因为只能输出一个字符串,谁有什么好办法能输出的方便一些呢?
2.还有当在CreateWindow()中添加窗口风格ES_READONLY,即使文本框变成只读形式时,背景变灰了,怎么样能让它变白呢?
3.窗口类名是“EDIT”这是系统默认的,怎么样能把这个默认的窗口类调出来呢?
4.因为一次只能输出一个字符串,如果太长的话会超出屏幕,但不是把滚动条自动滚到最后一行,即便把窗口风格设置成自动的也不行,因为是一整个字符串… 网上看到VC中有这个属性SelectionStart,把它设置成最大值就可以将光标移到最后一位,我猜这样应该可以自动滚到最后一行,但SelectionStart是谁的属性啊,我连窗口类都不知道…
以下是创建文本框的函数:
ghedit = createwindowEx(0,"edit","", &
IOR(WS_child,IOR(WS_visible,IOR(WS_VSCROLL,IOR(WS_HSCROLL,IOR(WS_BORDER, &
IOR(ES_AUTOHSCROLL,IOR(ES_LEFT,IOR(ES_WANTRETURN,ES_MULTILINE)))))))), &
0,0,width-8,height-54,ghwndMain,NULL,hInstance,NULL)
最后再次说声谢谢,唉,用fortran编界面的太少,如果遇到就赶紧嫁了吧
1.文本框中文本的输入输出问题。 我现在用的是
[center]ret=sendmessage(ghedit,WM_SETTEXT,0,loc(gtext)) [/center]
可是这样必须不停的提取、合并字符串,因为只能输出一个字符串,谁有什么好办法能输出的方便一些呢?
2.还有当在CreateWindow()中添加窗口风格ES_READONLY,即使文本框变成只读形式时,背景变灰了,怎么样能让它变白呢?
3.窗口类名是“EDIT”这是系统默认的,怎么样能把这个默认的窗口类调出来呢?
4.因为一次只能输出一个字符串,如果太长的话会超出屏幕,但不是把滚动条自动滚到最后一行,即便把窗口风格设置成自动的也不行,因为是一整个字符串… 网上看到VC中有这个属性SelectionStart,把它设置成最大值就可以将光标移到最后一位,我猜这样应该可以自动滚到最后一行,但SelectionStart是谁的属性啊,我连窗口类都不知道…
以下是创建文本框的函数:
ghedit = createwindowEx(0,"edit","", &
IOR(WS_child,IOR(WS_visible,IOR(WS_VSCROLL,IOR(WS_HSCROLL,IOR(WS_BORDER, &
IOR(ES_AUTOHSCROLL,IOR(ES_LEFT,IOR(ES_WANTRETURN,ES_MULTILINE)))))))), &
0,0,width-8,height-54,ghwndMain,NULL,hInstance,NULL)
最后再次说声谢谢,唉,用fortran编界面的太少,如果遇到就赶紧嫁了吧