SetCursor(LoadCursor(NULL, IDC_HAND)) 问题,求助~

chenjiawei007 2011-01-20 01:21:06
原先有个工具是#define WINVER 0x0400

这样使用SetCursor(LoadCursor(NULL, IDC_HAND)) 时 IDC_HAND是未定义的。

后来改成#define WINVER 0x0500,编译是可以过了,

也可以运行,但是我处理edit控件时就出现了问题,

在EDIT里输入的内容,获取不到了。 有经验的朋友给些提示~
...全文
386 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2011-01-21
  • 打赏
  • 举报
回复
我好像看懂了
你的工程是Unicode的还是ASCII的
会不会是存在字符转换的问题
chenjiawei007 2011-01-20
  • 打赏
  • 举报
回复
标题确实没有表达清楚问题,对不住各位了,

做界面没有多少的经验

使用公司自己封装的控件

#include "ck_flexigrid.h"


导致一个登陆窗体的成员变量 Cstring m_strPasswd 在构造时 指针就出错了。

这样每次登录时就提示了密码错误,

ck_flexigrid.h里面的 SetCursor(LoadCursor(NULL, IDC_HAND)) 必须要求winver高于 ox0500的,

我就怀疑是不是不同版本ck_flexigrid.h引起的。

问和我同事也调试了许久,也没能解决(做界面的经验都不足),

我个人觉得有可能是自写控件改变了某些预编译,也有可能VC6本身编译器就有不合理的地方,也有可能是WTL的CSTRING有不安全的地方,不过也没调试出,也只能过去了。
wwgddx 2011-01-20
  • 打赏
  • 举报
回复
同意[Quote=引用 7 楼 covsno 的回复:]
我看是没用updatedata(true)吧
[/Quote]
向立天 2011-01-20
  • 打赏
  • 举报
回复
完全不知所云
快乐鹦鹉 2011-01-20
  • 打赏
  • 举报
回复
说的乱七八糟,自己的问题都整理不清楚......
covsno 2011-01-20
  • 打赏
  • 举报
回复
我看是没用updatedata(true)吧
Eleven 2011-01-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 chenjiawei007 的回复:]
TCHAR szPasswd[SK_ORG_USER_PASSWD_SIZE] = {0};
m_wndPwd.GetWindowText(szPasswd, SK_ORG_USER_PASSWD_SIZE);


if (_tcsicmp(szPasswd, _T("")) == 0)
{
CString strTitle;
strTitle.LoadString(IDS_WARN……
[/Quote]
你说的跟你的SetCursor没有什么关系
chenjiawei007 2011-01-20
  • 打赏
  • 举报
回复
TCHAR szPasswd[SK_ORG_USER_PASSWD_SIZE] = {0};
m_wndPwd.GetWindowText(szPasswd, SK_ORG_USER_PASSWD_SIZE);


if (_tcsicmp(szPasswd, _T("")) == 0)
{
CString strTitle;
strTitle.LoadString(IDS_WARNING);
CString strText;
strText.LoadString(IDS_STRINGPWNULL);
MessageBox((LPCTSTR)strText, (LPCTSTR)strTitle, MB_OK);
return 0;
}

m_strPasswd = szPasswd;


edit控件是输入密码的,把取出的值放到一个CSTING的成员变量里,Cstring m_strPasswd = szPasswd;
这样赋值就失败了……

后来朋友和我来测试,发现新建个
CSRTING STR = szPasswd;

m_strPasswd = szPasswd;


这样赋值就成功了……

但是

CSrvLoginDlg dlg;
if (dlg.DoModal() == IDOK)
{
pServer->Login(SK_DEFAULT_ADMIN, (LPCTSTR)dlg.m_strPasswd);

}

这样调用就失败了……

无语了,感觉是CSTRING的使用上出现了问题

wwgddx 2011-01-20
  • 打赏
  • 举报
回复
在EDIT里输入的内容,是怎么获取的? 你是说选中不了还是获取不到选中的内容?

不行就改回去,自己做个IDC_HAND光标资源就是了。
向立天 2011-01-20
  • 打赏
  • 举报
回复
我也没看明白你到底想问什么
fandh 2011-01-20
  • 打赏
  • 举报
回复
是喔,鼠标什么状态,与文本框取内容的确没有什么关系!
快乐鹦鹉 2011-01-20
  • 打赏
  • 举报
回复
文本框获取不到内容,和SetCursor能有什么关系啊。看你的问题,晕乎乎的。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧