| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1735 人关注过本帖
标题:超类化遇到问题
只看楼主 加入收藏
nzxhust
Rank: 2
等 级:论坛游民
威 望:1
帖 子:99
专家分:28
注 册:2008-2-14
结帖率:85.71%
收藏
已结贴  问题点数:20 回复次数:23 
超类化遇到问题
有几个问题
1是我在ASM中RigsterClassEx注册的类,如果用资源文件定义,怎么办呢?我的资源文件是VC编辑的,我按老罗这种做的话:
CONTROL "",-1,"HexEdit",ES_LEFT | WS_BORDER | WS_TABSTOP,5,5,115,12
VC无法编译啊.要怎么把这个新类让VC识别呢?
2.如果不用资源定义直接创建,也有些问题,用CreateWindow怎么undefined头文件应该不少啊,用CreateWindowEx创建出来结果样子不对..
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;超类化静态文本框注册函数
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_SupperStatic        proc
            local    @stSC:WNDCLASSEX
            mov    @stSC.cbSize,sizeof @stSC
            invoke    GetClassInfoEx,NULL,addr szStaticClass,addr @stSC
            push    hInstance
            pop    @stSC.hInstance
            mov    @stSC.lpszClassName,offset szNewStaticClass
            invoke    LoadCursor,hInstance,IDC_CURSOR1;就只改下鼠标
            mov    @stSC.hCursor,eax
            invoke    RegisterClassEx,addr @stSC
            ret
_SupperStatic        endp
然后我用这个创建的,但是样子是窗口不是STATIC控件额....
invoke    CreateWindowEx,NULL,addr szNewStaticClass,NULL\
                ,SS_NOTIFY or \
                WS_BORDER or WS_TABSTOP or WS_VISIBLE\
                ,37,88,12,12,hWnd,NULL,hInstance,NULL
如果用这个创建要怎么弄啊?
老大们快来讨论下问题N多.....
搜索更多相关主题的帖子: 超类化 
2009-08-14 11:26
非虫
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:99
专家分:171
注 册:2008-10-4
收藏
得分:7 
where is WS_CHILD?
2009-08-14 13:31
nzxhust
Rank: 2
等 级:论坛游民
威 望:1
帖 子:99
专家分:28
注 册:2008-2-14
收藏
得分:0 
我想问下CreateWindow我用怎么编译不通过啊?
2009-08-14 16:10
nzxhust
Rank: 2
等 级:论坛游民
威 望:1
帖 子:99
专家分:28
注 册:2008-2-14
收藏
得分:0 
有个问题怎么我用的原VC种编辑资源的x,y,hight,wide但是显示出来却不是VC中编辑资源时候的位置啊?
有什么方法换算吗?不能可视化不太好弄位置啊
2009-08-14 16:15
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:7 
巨晕,不知道你到底要问什莫??

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2009-08-14 22:31
nzxhust
Rank: 2
等 级:论坛游民
威 望:1
帖 子:99
专家分:28
注 册:2008-2-14
收藏
得分:0 
很难理解?我VC编辑的资源,现在我要把中间一个文本框改成自己的类,于是我用CREATEWINDOWEX创建类使用的坐标是原来的资源坐标,
但是画出来位置不是原来文本框在的地方
2009-08-14 22:50
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:0 
你等于创建了两个控件啊,资源编辑其中的一个。你超类化的一个。我刚玩汇编,还不太会用。不过我想你可以直接用Rc编译一下。
因为我看到Radasm的自定义控件,都可以可视化编辑,而且生成的.rc文件也可以通过rc生成res.
程序代码:
#define IDD_DIALOG1 101 
#define IDC_EDT2 1003 
#define IDCANCEL 2 
#define IDC_CBO1 1002 
#define IDC_EDT1 1004 
#define IDC_TBR1 1005 
#define IDC_REB1 1001 
#define IDC_CAD1 1006 
IDD_DIALOG1 DIALOGEX 6,6,195,101 
CAPTION "Rebar demo" 
FONT 8,"MS Sans Serif",0,0 
STYLE 0x12CC0880 
EXSTYLE 0x00000001 
BEGIN 
  CONTROL "",IDC_EDT1,"Edit",0x50211044,0,16,194,68,0x00000200 
  CONTROL "",IDC_REB1,"ReBarWindow32",0x52000000,0,0,52,13,0x00000000 
  CONTROL "",IDC_EDT2,"Edit",0x50010000,0,92,54,11,0x00000200 
  CONTROL "Exit",IDCANCEL,"Button",0x50010000,132,88,58,13,0x00000000 
  CONTROL "",IDC_CBO1,"ComboBox",0x50010003,56,92,56,52,0x00000000 
  CONTROL "",IDC_TBR1,"ToolbarWindow32",0x50000845,54,0,94,13,0x00000000 
  CONTROL "",IDC_CAD1,"CADCLASS",0x56300000,67,49,66,61,0x00000200         //这里就是Radasm的自定义控件
END

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2009-08-14 23:23
nzxhust
Rank: 2
等 级:论坛游民
威 望:1
帖 子:99
专家分:28
注 册:2008-2-14
收藏
得分:0 
是啊但是有个问题我的资源文件时VC编辑的不知道怎么改...直接用RC不能编译,用VC编译也不能识别新类
2009-08-14 23:28
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:0 
可以的,只是一个资源符号而已。

程序代码:
#define IDD_DIALOG1 101 
#define IDC_EDT2 1003 
#define IDCANCEL 2 
#define IDC_CBO1 1002 
#define IDC_EDT1 1004 
#define IDC_TBR1 1005 
#define IDC_REB1 1001 
#define IDC_SUPPEREEDIT 1006                                          //定义资源ID
IDD_DIALOG1 DIALOGEX 6,6,195,101 
CAPTION "Rebar demo" 
FONT 8,"MS Sans Serif",0,0 
STYLE 0x12CC0880 
EXSTYLE 0x00000001 
BEGIN 
  CONTROL "",IDC_EDT1,"Edit",0x50211044,0,16,194,68,0x00000200 
  CONTROL "",IDC_REB1,"ReBarWindow32",0x52000000,0,0,52,13,0x00000000 
  CONTROL "",IDC_EDT2,"Edit",0x50010000,0,92,54,11,0x00000200 
  CONTROL "Exit",IDCANCEL,"Button",0x50010000,132,88,58,13,0x00000000 
  CONTROL "",IDC_CBO1,"ComboBox",0x50010003,56,92,56,52,0x00000000 
  CONTROL "",IDC_TBR1,"ToolbarWindow32",0x50000845,54,0,94,13,0x00000000 
  CONTROL "",IDC_SUPPEREEDIT,"SUPPEREEDIT",0x56300000,67,49,66,61,0x00000200 //我手工改成这样,一样通过编译 
END 


[ 本帖最后由 东海一鱼 于 2009-8-14 23:51 编辑 ]

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2009-08-14 23:39
nzxhust
Rank: 2
等 级:论坛游民
威 望:1
帖 子:99
专家分:28
注 册:2008-2-14
收藏
得分:0 
不是这个意思,VC编辑的文件,他#include "afxres.h",RC编译会报这个文件不能打开要怎么弄?
我不知道这个要怎么弄
2009-08-14 23:51
快速回复:超类化遇到问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028173 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved