社区
界面
帖子详情
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里输入的内容,获取不到了。 有经验的朋友给些提示~
...全文
408
12
打赏
收藏
SetCursor(LoadCursor(NULL, IDC_HAND)) 问题,求助~
原先有个工具是#define WINVER 0x0400 这样使用SetCursor(LoadCursor(NULL, IDC_HAND)) 时 IDC_HAND是未定义的。 后来改成#define WINVER 0x0500,编译是可以过了, 也可以运行,但是我处理edit控件时就出现了问题, 在EDIT里输入的内容,获取不到了。 有经验的朋友给些提示~
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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能有什么关系啊。看你的问题,晕乎乎的。
VC 鼠标形状控制程序代码
Set
Cursor
(
Load
Cursor
(
NULL
,
IDC
_
HAND
)); // 改变为手形指针 } else {
Set
Cursor
(
Load
Cursor
(
NULL
,
IDC
_ARROW)); // 还原为默认箭头指针 } break; // 其他消息处理... } return DefWindowProc(hWnd, message...
VC 显示鼠标不同状态下的鼠标指针形状.rar
Set
Cursor
(
Load
Cursor
(
NULL
,
IDC
_
HAND
)); // 鼠标悬停时显示手形指针 break; } case WM_MOUSELEAVE: {
Set
Cursor
(
Load
Cursor
(
NULL
,
IDC
_ARROW)); // 鼠标离开时恢复箭头指针 break; } ``` 此外,我们还可以...
mfc光标编程
Set
Cursor
(
Load
Cursor
(
NULL
,
IDC
_
HAND
)); // 使用手形光标 return TRUE; // 消息已处理 } CWnd::On
Set
Cursor
(pWnd, nHitTest, message); } ``` 5. **光标动画**:除了静态光标,还可以创建光标动画。这通常...
图标与光标
Set
Cursor
(
Load
Cursor
(
NULL
,
IDC
_
HAND
)); // 设置手形光标 return TRUE; } } ``` 此外,还可以通过CWnd类的成员函数
Set
Cursor
()来改变窗口的光标,或者使用AfxGetApp()->
Set
Cursor
()来改变整个应用程序的光标。 ...
MFC 鼠标移动改变光标符号
H
CURSOR
hCurrent
Cursor
= ::
Load
Cursor
(
NULL
,
IDC
_ARROW); // 默认箭头光标 // 根据业务逻辑判断何时更换光标 if (/* 判断条件 */) { // 加载新的光标资源 H
CURSOR
hNew
Cursor
= ::
Load
Cursor
...
界面
15,980
社区成员
115,867
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章