vs2005 MFC静态文本控件
想在单文本的界面上添加静态文本,在CMyView中定义public:CStaticm_s1;在CMyView的OnCreate(LPCTRATESTRUCTlpCreat...
想在单文本的界面上添加静态文本,在CMyView中定义
public:
CStatic m_s1;
在CMyView的OnCreate(LPCTRATESTRUCT lpCreateStruct)
函数中写
m_s1.Create("Hello!",WS_CHILD|WS_VISIBLE|SS_CENTER,
CRect(20,20,100,100), this, 0);
提示是错误
error C2664: 'CStatic::Create' : cannot convert parameter 1 from 'const char [6]' to 'LPCTSTR'
后来改成
m_s1.Create(L"Hello!",WS_CHILD|WS_VISIBLE|SS_CENTER,
CRect(20,20,100,100), this, 0);
能运行了,但是不显示文字。
有没有大哥能帮我想办法?谢谢啊!
能不能顺便把m_s1.Create(L"Hello!",WS_CHILD|WS_VISIBLE|SS_CENTER,
CRect(20,20,100,100), this, 0)
的用法交给我啊?比如L"Hello",为什么要加L?
像显示变量怎么办?比如
int i = 29;怎样显示i? 展开
public:
CStatic m_s1;
在CMyView的OnCreate(LPCTRATESTRUCT lpCreateStruct)
函数中写
m_s1.Create("Hello!",WS_CHILD|WS_VISIBLE|SS_CENTER,
CRect(20,20,100,100), this, 0);
提示是错误
error C2664: 'CStatic::Create' : cannot convert parameter 1 from 'const char [6]' to 'LPCTSTR'
后来改成
m_s1.Create(L"Hello!",WS_CHILD|WS_VISIBLE|SS_CENTER,
CRect(20,20,100,100), this, 0);
能运行了,但是不显示文字。
有没有大哥能帮我想办法?谢谢啊!
能不能顺便把m_s1.Create(L"Hello!",WS_CHILD|WS_VISIBLE|SS_CENTER,
CRect(20,20,100,100), this, 0)
的用法交给我啊?比如L"Hello",为什么要加L?
像显示变量怎么办?比如
int i = 29;怎样显示i? 展开
3个回答
展开全部
同楼上。
1.有两种字符类型,char和wchar_t。分别是8位ANSI字符和16位UNICODE字符。
char的字符串,写法是"aaaa"
wchar_t的字符串,写法是L"aaaaa"
前者是LPCSTR
后者是LPCWSTR或叫LPCTSTR。
这是两种不同的数据类型。
2.BOOL Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff );
参数lpszText指定了控件显示的正文。dwStyle指定了静态控件的风格,表6.1显示了静态控件的各种风格,dwStyle可将这些风格组合起来。rect是一个对RECT或CRect结构的引用,用来说明控件的位置和尺寸。pParentWnd指向父窗口,该参数不能为NULL。nID则说明了控件的ID。如果创建成功,该函数返回TRUE,否则返回FALSE.
表6.1 静态控件的风格
控件风格
含义
SS_BLACKFRAME
指定一个具有与窗口边界同色的框(缺省为黑色)。
SS_BLACKRECT
指定一个具有与窗口边界同色的实矩形(缺省为黑色)。
SS_CENTER
使显示的正文居中对齐,正文可以回绕。
SS_GRAYFRAME
指定一个具有与屏幕背景同色的边框。
SS_GRAYRECT
指定一个具有与屏幕背景同色的实矩形。
SS_ICON
使控件显示一个在资源中定义的图标,图标的名字有Create函数的lpszText参数指定。
SS_LEFT
左对齐正文,正文能回绕。
SS_LEFTNOWORDWRAP
左对齐正文,正文不能回绕。
SS_NOPREFIX
使静态正文串中的&不是一个热键提示符。
SS_NOTIFY
使控件能向父窗口发送鼠标事件消息。
SS_RIGHT
右对齐正文,可以回绕。
SS_SIMPLE
使静态正文在运行时不能被改变并使正文显示在单行中。
SS_USERITEM
指定一个用户定义项。
SS_WHITEFRAME
指定一个具有与窗口背景同色的框(缺省为白色)。
SS_WHITERECT
指定一个具有与窗口背景同色的实心矩形(缺省为白色)。
除了上表中的风格外,一般还要为控件指定WS_CHILD和WS_VISIBLE窗口风格。一个典型的静态正文控件的风格为WS_CHILD|WS_VISIBLE|SS_LEFT。
3.想显示整数必须将整形数转换为字符串。
char str[255];
sprintf(str, "%d", 100); //将整数100写到字符串str内
1.有两种字符类型,char和wchar_t。分别是8位ANSI字符和16位UNICODE字符。
char的字符串,写法是"aaaa"
wchar_t的字符串,写法是L"aaaaa"
前者是LPCSTR
后者是LPCWSTR或叫LPCTSTR。
这是两种不同的数据类型。
2.BOOL Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff );
参数lpszText指定了控件显示的正文。dwStyle指定了静态控件的风格,表6.1显示了静态控件的各种风格,dwStyle可将这些风格组合起来。rect是一个对RECT或CRect结构的引用,用来说明控件的位置和尺寸。pParentWnd指向父窗口,该参数不能为NULL。nID则说明了控件的ID。如果创建成功,该函数返回TRUE,否则返回FALSE.
表6.1 静态控件的风格
控件风格
含义
SS_BLACKFRAME
指定一个具有与窗口边界同色的框(缺省为黑色)。
SS_BLACKRECT
指定一个具有与窗口边界同色的实矩形(缺省为黑色)。
SS_CENTER
使显示的正文居中对齐,正文可以回绕。
SS_GRAYFRAME
指定一个具有与屏幕背景同色的边框。
SS_GRAYRECT
指定一个具有与屏幕背景同色的实矩形。
SS_ICON
使控件显示一个在资源中定义的图标,图标的名字有Create函数的lpszText参数指定。
SS_LEFT
左对齐正文,正文能回绕。
SS_LEFTNOWORDWRAP
左对齐正文,正文不能回绕。
SS_NOPREFIX
使静态正文串中的&不是一个热键提示符。
SS_NOTIFY
使控件能向父窗口发送鼠标事件消息。
SS_RIGHT
右对齐正文,可以回绕。
SS_SIMPLE
使静态正文在运行时不能被改变并使正文显示在单行中。
SS_USERITEM
指定一个用户定义项。
SS_WHITEFRAME
指定一个具有与窗口背景同色的框(缺省为白色)。
SS_WHITERECT
指定一个具有与窗口背景同色的实心矩形(缺省为白色)。
除了上表中的风格外,一般还要为控件指定WS_CHILD和WS_VISIBLE窗口风格。一个典型的静态正文控件的风格为WS_CHILD|WS_VISIBLE|SS_LEFT。
3.想显示整数必须将整形数转换为字符串。
char str[255];
sprintf(str, "%d", 100); //将整数100写到字符串str内
展开全部
在"Hello!"前有一个大写字母L(代表long)。这将告诉编译器该字符串按宽字符保存。即每个字符占用2个.
多了解点API再...
好累..麻烦以后不要在这里问C++...
多了解点API再...
好累..麻烦以后不要在这里问C++...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你仅仅是建立了,是不是应该
show
一下呢?
比如L"Hello",只所以要加L,是因为此参数为双字节也就是UNICODE编码。
要显示一个变量的值,需要一个Label控件,然后将控件的
Caption
属性值设置为要显示的变量的值。
show
一下呢?
比如L"Hello",只所以要加L,是因为此参数为双字节也就是UNICODE编码。
要显示一个变量的值,需要一个Label控件,然后将控件的
Caption
属性值设置为要显示的变量的值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询