MFC单文档程序的菜单栏怎么修改高度和宽度

MFC单文档程序的菜单栏怎么修改高度和宽度,第1张

在资源编辑器中,选中任意一个toolbar的图标,拉伸大小,即可改变整个工具栏的高度宽度。\x0d\但从CMenu继承的标准菜单栏是没法改变宽高的,一般来说,只能通过重载后DrawItem修改字体大小来改变高度,宽度可以通过空格或者\t制表符来控制。\x0d\另外,WM_MEASUREITEM消息可以更改d出菜单的高度,但对MFC标准菜单貌似无效,重载后有些和MFC框架的冲突。\x0d\其实网上有很多自绘菜单类的例子,一般都是通过重载后DrawItem实现的,可以改变大小高度。

回答的不一定标准。但实践可行。

++++++++++++++++++++++++++

已知一文本文件位于C:\czechtxt内容如下

čeština

查看属性为7字节。

建立一个对话框程序,

CStatic 控件ID为IDC_STATIC

++++++++++++++++++++++++++

#include <localeh>

#define BUFFER 20

-----------------------------------------

函数内部实现:

int ReadCzech{

CStatic outs = (CStatic) GetDlgItem(IDC_STATIC);

CFile file;//不能用CSTDIOFILE;

if (!fileOpen(_T("c:\\ffftxt"),CFile::modeRead) )

{

outs->SetWindowTextW(_T("false"));

return 1;

}

char chars[BUFFER];//读取时的字符缓冲,最好取大一些;

UINT nBytes = (UINT) fileGetLength();//获得文件大小;

if (BUFFER < nBytes) return 2;//缓冲区过小,具体处理请自行添加;

_locale_t czech = _create_locale(LC_ALL,"czech");//创建Locale结构体;

fileRead(chars,nBytes);//读文件;

WCHAR wchars[BUFFER];

size_t wcharsize;

_mbstowcs_s_l(&wcharsize,wchars,nBytes2,chars,BUFFER,czech);//转换字符集;

CString reads;

reads = wchars;

readsTrim(_T(""));//去掉多余的乱码;

outs->SetWindowTextW(readsGetBuffer());

_free_locale(czech);//按照MSDN的说法,创建一个locale,必须对应释放;

fileClose();

return 0;

}

手动实验结果,希望能够多给点分。

以上就是关于MFC单文档程序的菜单栏怎么修改高度和宽度全部的内容,包括:MFC单文档程序的菜单栏怎么修改高度和宽度、我想通过MFC读取txt文档里的捷克语,显示出来的也是捷克语,txt文档时ansi格式的。。、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/10067754.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存