社区
界面
帖子详情
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
打赏
收藏
SetCursor(LoadCursor(NULL, IDC_HAND)) 问题,求助~
原先有个工具是#define WINVER 0x0400 这样使用SetCursor(LoadCursor(NULL, IDC_HAND)) 时 IDC_HAND是未定义的。 后来改成#define WINVER 0x0500,编译是可以过了, 也可以运行,但是我处理edit控件时就出现了问题, 在EDIT里输入的内容,获取不到了。 有经验的朋友给些提示~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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能有什么关系啊。看你的问题,晕乎乎的。
鼠标形状设置参数
Set
Cursor
(
Load
Cursor
(
NULL
,
IDC
_
HAND
)); //此处
IDC
_
HAND
是自定义的鼠标形状,下面再详细解释 整个函数的代码如下: BOOL CHall::On
Set
Cursor
(CWnd* pWnd, UINT nHitTest, UINT message) { ...
光标类型
::
Set
Cursor
(
Load
Cursor
(
NULL
,
IDC
_SIZEWE)); 16种图标分别是:
IDC
_APPSTARTING 标准的箭头和小沙漏
IDC
_ARROW 标准的箭头
IDC
_CROSS 十字光标
IDC
_
HAND
Windows 98/Me, Windows 2000/XP:
Hand
IDC
_HELP 标准的箭头...
c语言vc里设置光标位置,VC设置鼠标光标方法
一、在MFC中设置鼠标光标1、载入系统光标::
Set
Cursor
(::
Load
Cursor
(
NULL
,
IDC
_
HAND
));注意:
Load
Cursor
第一个参数必须为
NULL
,否则会载入失败。如果以以下方式调用,则会失败:::
Set
Cursor
(::
Load
Cursor
(AfxGetApp()-...
VC设置鼠标光标方法
::
Set
Cursor
( ::
Load
Cursor
(
NULL
,
IDC
_
HAND
) ); 注意:
Load
Cursor
第一个参数必须为
NULL
,否则会载入失败。如果以以下方式调用,则会失败: ::
Set
Cursor
( ::
Load
Cursor
( AfxGetApp()->
Load
Cursor
(
IDC
_...
鼠标光标的一个“看起来”很神奇的
问题
Windows里最让人抓狂的
问题
,莫过于鼠标相关的BUG了(估计所有GUI程序都一样)。鼠标的BUG往往还不能直接打断点调试,只能结合日志信息,加上自己的经验一起来查,这就更是难上加难了。 最近遇到一个
问题
,虽然很快...
界面
15,979
社区成员
115,897
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章