- 浏览: 36740 次
- 性别:
- 来自: 杭州
最新评论
文章列表
实际应用中,ComboBox的下拉框的长度默认是和它的Edit框相同的,如果插入的个别项特别长时会显示不全。
解决方法如下:
CString str;
int dx = 0;
CSize sz;
CDC *pDC = m_CobName.GetDC();
CFont *pOldFont = pDC->SelectObject(m_CobName.GetFont());
for (int i = 0; i < m_CobName.GetCount(); i++)
{
...
方案一:
接受处理ID_HELP 消息
ON_COMMAND(ID_HELP, OnMenuHelpID)
定义见afxres.h
// special commands for processing help
#define ID_HELP 0xE146 // first attempt for F1
#define ID_DEFAULT_HELP 0xE147 // last attempt
方案二:
接受处理WM_HELPINF ...
实际应用中,一段代码在Win7下使用正常,在XP下获取字体异常。
ZeroMemory ((PVOID) &m_lf,sizeof (LOGFONT));
NONCLIENTMETRICS nm;
nm.cbSize = sizeof (NONCLIENTMETRICS);
VERIFY (SystemParametersInfo(SPI_GETNONCLIENTMETRICS,nm.cbSize,&nm,0));
m_lf = nm.lfMenuFont;
m_lf.lfWeight = FW_NORMAL;
m_lf.lfHeight = -12 ...
在一行中输入整数 a 和 b,用空格隔开(
-1000000 <= a, b <= 1000000 )
输出a+b的值,用千分位格式输出
Sample Input-1000000 9Sample Output-999,991
python版本代码如下
import re
import sys
def fun(num):
if num >= 1000:
fun(num/1000)
sys.stdout.write(",%03d" % (num%1000))
els ...
在实际应用中,需要自绘CTreeCtrl,全部使用gdi绘制节点和文字,当节点名称较长时会出现显示不全的问题,拖动到最右边的时候仍然不能显示完全。
原因是自绘的字体与CTreeCtrl默认的字体不同造成的。
解决方法是向树控件发送WM_SETFONT消息,将默认字体替换为自绘的字体。
CFont* pOldFont;
CFont newFont;
LOGFONT lf;
ZeroMemory(&lf,sizeof(lf));
lf.lfHeight = 12;
lf.lfWidth = 6;
lf.lfWeight = 100;
...
实际应用中,程序使用自绘标题栏,在Win7经典模式下进行放大还原操作时出现标题栏绘制不全的问题。
最大化操作后,标题栏的右侧未绘制完全。需要强制进行标题栏刷新后才能正常显示。
代码如下:
::SendMessage(this->GetSafeHwnd(),WM_NCPAINT,0,0);
原因分析:
打开Aero特效的模式下,绘制均正常,在经典模式下不能进行刷新。可以猜测微软在Aero特效模式下显然也是一种自绘标题栏,进行窗口还原最大化等操作时会向标题栏发送重绘消息,而经典模式下使用的默认标题栏,便不进行窗口重绘,需要我们给自己的自绘标题栏手动发送WM_NC ...
在实际应用中,CTabCtrl或者CListCtrl在插入大量数据时界面绘制变发生剧烈闪烁,并且插入效率较慢。利用SetRedraw可以解决此问题。实际测试CTabCtrl插入上千条记录未优化前需要30~40秒,优化后需要1~2秒。
摘自百度百科
CWnd::SetRedraw void SetRedraw( BOOL bRedraw = TRUE ); 参数: bRedraw 指定了重画标志的状态。如果这个参数为TRUE,则重画标志被设置;如果为FALSE,则该标志被清除。 说明: 应用程序调用SetRedraw以允许重画变化或防止变化被重画。
这个成员函数设置或清除重 ...
实际应用中一个程序在长时间运行后内存占用较高时发生崩溃,从dump信息中,发现GetAdaptersInfo函数返回了一个奇怪的错误码998(ERROR_NOACCESS),百度搜索不到相关的信息。MSDN上GetAdaptersInfo函数的错误码正常情况下只有5种。并且一共 ...
实际应用中遇到installShield2010制作的安装包在Win XP系统下安装十分快速,但在Win7系统下安装会在文件拷贝界面等待2-20分钟。
利用Win7的高级任务管理器的“分析等待链”功能查看
显示引起卡住的进程为 dotnetinstaller.exe,这个文件是installshield安装目录下自带的,从字面意义上就可以知道应该是用来安装.net环境的。
那我们再用windbg挂载到这个进程上去看看它到底在做些什么。