如何在vc中显示“♠♥♦♣”啊

wangdi190 2010-06-12 01:08:12
在输入时 无法输入进去。
...全文
347 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangli820 2010-06-13
  • 打赏
  • 举报
回复
WCHAR str[] = {0x2660, 0x2665, 0x2666, 0x2663, 0};
MessageBoxW(NULL, str, L"", MB_OK);
zhouchuan111 2010-06-13
  • 打赏
  • 举报
回复
asci
wangdi190 2010-06-13
  • 打赏
  • 举报
回复
谢谢gz_qmc
gz_qmc 2010-06-13
  • 打赏
  • 举报
回复
百度搜一下 扑克字库 大把都是
把字库下来拷贝到C:\window\Fonts

在你要显示的窗口类添加变量
CFont myFont;

在该窗口初始化的地方
myFont.CreateFont(高,宽,0,0,0,0,0,0,0,0,0,0,0,字体名);
比如:
myFont.CreateFont(30,20,0,0,0,0,0,0,0,0,0,0,0,"宋体");

然后设置你的静态文本的字体
GetDlgItem(IDC_XXXXXX)->SetFont(&myFont);

如果该字库的A显示红桃,B显示黑桃,C显示方片,D显示梅花
则:GetDlgItem(IDC_XXXXXX)->SetWindowText("ABCD");

至于什么字母表示什么图案
你打开记事本,选中字体为该扑克字体,然后随便按键盘
看哪个对哪个就清楚了.

等你以后学明白了,自己造个小字库跟自己的软件走就行了
等你再熟练通了,连小字库都可以嵌入软件
等你更精通了,连小字库都不要了,直接派生一个CWnd类专显示这些
wangdi190 2010-06-13
  • 打赏
  • 举报
回复
我是想把♠♥♦♣赋值给CString的一个变量,再显示到对话框的静态文本框,
可以吗
wangdi190 2010-06-13
  • 打赏
  • 举报
回复
能介绍字库怎么用嘛
tufaqing 2010-06-13
  • 打赏
  • 举报
回复
你是什么编译器啊,不知道VC6行不行,下面是在VC2005下测试的。
首先要将工程设置成Unicode编码的,否则是显示不出来的。然后有两种方法:
1. 用代码设置:
WCHAR str[] = {0x2660, 0x2665, 0x2666, 0x2663, 0};
::SetDlgItemTextW(m_hWnd, IDC_STA1, str);
也可以将cpp用记事本打开,另存为,选择编码方式Unicode,保存;再打开工程可以敲入::SetDlgItemTextW(m_hWnd, IDC_STA1, L"♠♥♦♣");
2. 修改rc资源文件:
同样将rc用记事本打开,另存为,选择编码方式Unicode,保存,然后有两种做法:可以继续在记事本里修改,找到文本字符串,将♠♥♦♣拷贝替换源串,出现黑框字符不用管,保存即可,打开工程编译OK;或者打开工程从可视资源属性页将Caption设置♠♥♦♣也可。

避免麻烦,最好还是使用第一种方法第一选项。
gz_qmc 2010-06-13
  • 打赏
  • 举报
回复
看11楼
wangdi190 2010-06-13
  • 打赏
  • 举报
回复
各位大侠啊,还是没解决,再帮帮忙嘛。小女子在此,求助大家了。谢谢各位啊
C瓜哥 2010-06-13
  • 打赏
  • 举报
回复
mark
gz_qmc 2010-06-13
  • 打赏
  • 举报
回复
答18楼:
原来我们认识的字符是8位的ASCII码
但汉字是16位的,其他国家的语言符号个不相同
包括汉字就有GB码(大陆人用的)和BIG5码(台湾人用的)
于是国际上那几个吃饱了没事干的大师们就研究了一种新的标准
叫unicode,不管你是那国那家的通吃
后来发现还是不够区分
于是产生了一系列的变种:UTF-8,UTF-16,UTF-32
大概意思就是这样
说的不好大家不要见笑
fengzongkui 2010-06-13
  • 打赏
  • 举报
回复
这个得顶下
大风扯 2010-06-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 jennyvenus 的回复:]
unicode可以。
[/Quote]
不用unicode 也可以的吧。
转义字符 \1\2\3\4 就是不知道是哪个...
郑大钱 2010-06-13
  • 打赏
  • 举报
回复
unicode 到底是个什么东西?
sunlin7 2010-06-12
  • 打赏
  • 举报
回复
如果vc6.0,可用
WCHAR str[] = {0x2660, 0x2665, 0x2666, 0x2663, 0};
::SetWindowTextW(m_edit.GetSafeHwnd(),str); // 其中m_edit是一个edit控件或者static控件.
对话框中,命名一个static控件的id为STATIC_TEXT
使用::SetWindowTextW(GetDlgItem(hWnd,STATIC_TEXT), str);即可.
sunlin7 2010-06-12
  • 打赏
  • 举报
回复
WCHAR str[] = {0x2660, 0x2665, 0x2666, 0x2663, 0};
m_edit.SetWindowTextW(str); // 其中m_edit是一个edit控件或者static控件.
yunxiang_myx 2010-06-12
  • 打赏
  • 举报
回复
关注,学习。
gz_qmc 2010-06-12
  • 打赏
  • 举报
回复
用字库的话,别说红黑梅方
108张麻将,你要那张我都可以给你显示

别说是显示在静态文本框

你就是在编辑框输入都没有问题
gz_qmc 2010-06-12
  • 打赏
  • 举报
回复
用字库
wangdi190 2010-06-12
  • 打赏
  • 举报
回复
tufaqing的可以


谢谢各位了
我还有一个问题就是在vc中转unicode,用MessageBoxW(NULL, str, L"", MB_OK);输出可以,但如果我是输出到静态文本框中,又用什么函数呢

加载更多回复(9)

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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