小编rec*_*rec的帖子

如何检测CListCtrl选择更改?

我想在用户选择CListCtrl中的行时执行一些代码(报表视图,我不关心其他查看模式).

我如何抓住这个活动?是否有一些我可以映射的消息或像"OnSelectionChanged"这样的方法?

mfc clistctrl visual-c++

30
推荐指数
2
解决办法
3万
查看次数

如何通过PostMessage发送字符串?

在我的应用程序中,我想从另一个线程向对话框发送消息.我想将std :: exception派生类引用传递给对话框.

像这样的东西:

try {
       //do stuff
}
catch (MyException& the_exception) {
    PostMessage(MyhWnd, CWM_SOME_ERROR, 0, 0); //send the_exception or the_exception.error_string() here
}
Run Code Online (Sandbox Code Playgroud)

我想在对话框中收到消息并显示错误 the_exception.error_string()

LPARAM CMyDlg::SomeError(WPARAM, LPARAM)
{
    show_error( ?????
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

std::string the_exception.error_string()我猜,传递使用PostMessage也没关系.

c++ mfc multithreading postmessage cdialog

16
推荐指数
1
解决办法
2万
查看次数

CEdit控制最大长度?(以字符显示)

MFC中CEdit控件中包含的文本字符串的最大长度是多少?在任何地方记录角色30001之后尝试添加角色时,我会发出一声嘟嘟声?我可以在CEdit中显示更长的文本吗?我应该使用另一个控件吗?

正如"Windows程序员"在下面所说,当用户键入时,文本长度限制与我们使用SetWindowText以编程方式设置文本时不一样.在任何地方都没有提到以编程方式设置文本的限制.用户输入的默认文本lentgth限制是错误的.(见下面我自己的帖子).

我猜测在调用pEdit-> SetLimitText(0)之后,编程和用户输入文本长度的限制都是7FFFFFFE字节.我对吗?

在vista中,当将超过40000个字符的文本粘贴到CEdit中时,它变得没有响应.如果我先前调用了SetLimitText(100000)并不重要.

string mfc character cedit

9
推荐指数
2
解决办法
3万
查看次数

Vista中的CEdit中的SetLimitText()不起作用

这发生在Vista上.我创建了一个基于MFC项目的新对话框来测试它.我在对话框中添加了一个CEdit控件.我调用SetLimitText让我的CEdit接收100000个字符.我试过两个:

this->m_cedit1.SetLimitText(100000);
UpdateData(FALSE);
Run Code Online (Sandbox Code Playgroud)

static_cast<CEdit*>(GetDlgItem(IDC_EDIT1))->LimitText(100000);
Run Code Online (Sandbox Code Playgroud)

我把这些调用放在InitDialog上.

在我将5461个字符粘贴到我的CEdit后,它变为空白且无响应.关于是什么导致这个和变通办法的任何想法都能够在CEdit或任何其他控件中粘贴长文本串?

注意:5461是二进制的0x1555或1010101010101,我觉得很奇怪.

如果我粘贴5460个字符我没有问题.

mfc windows-vista visual-c++

6
推荐指数
1
解决办法
2416
查看次数

如何在 Visual Studio c++ 项目中指定“任何大于 10.0 的 Windows SDK 版本”?

这里的开发人员安装了不同的 SDK,我希望我的 Visual Studio 项目使用任何大于 10.0 的可用 SDK,而无需确切指定是哪一个。有没有办法做到这一点?

在此处输入图片说明

在 vcxproj 文件中:

<WindowsTargetPlatformVersion>10.0.10586.0</WindowsTargetPlatformVersion>
Run Code Online (Sandbox Code Playgroud)

windows sdk visual-studio visual-c++ vcxproj

6
推荐指数
2
解决办法
4209
查看次数

如何衡量C++(MFC)应用程序的性能?

你知道什么好的个人资料?

测量和调整C++ MFC应用程序性能的好方法是什么?

算法的分析真的是必要的吗?http://en.wikipedia.org/wiki/Algorithm_analysis

c++ optimization performance mfc

5
推荐指数
1
解决办法
6203
查看次数

CString最大长度

CString对象可以容纳的字符的最大长度是多少?

mfc cstring

5
推荐指数
1
解决办法
2万
查看次数

如何启用AfxMessageBox是/否(MB_YESNO)"关闭"按钮?(右上角"X")

致电时:

AfxMessageBox(strMsg, MB_YESNO);
Run Code Online (Sandbox Code Playgroud)

将显示一个带有"是"和"否"按钮的消息框.但是右上角的"X"(关闭按钮)被禁用,按ESC无效.

这是因为唯一有效的结果是IDYES和IDNO,而不是IDCANCEL.

是否有快速启用此行为的方法?我想避免的:

  • 为此创建自定义对话框.
  • 有是/否/取消按钮.

在vista中,删除文件时,要求确认的对话框只有"是"和"否",也可以通过关闭按钮或ESC取消.我猜这是一个自定义对话框.

mfc dialog messagebox windows-vista

5
推荐指数
1
解决办法
9688
查看次数

桌面应用中的数据可视化

我想在桌面应用程序中创建数据可视化,使用框架,语言和库来帮助完成这类任务.可视化应该是交互式的:可点击,可拖动,可自定义,动画......

我想创建的内容类似于此处显示的示例:http://www.visualcomplexity.com/vc/

这些是我已经知道的链接:http://delicious.com/laura_laura/visualization?setcount = 100

首选的语言是C++/Visual C++(MFC),因为我对它很熟悉,但欢迎使用任何其他技术,我想从Visual C++中"尽可能相似"列出与Visual"非常不同"的列表. C++.

WPF,flex,Adobe Air,flare,Javascript(在浏览器中作为客户端应用程序运行,可以访问本地文件或作为桌面应用程序)是可能的,发布任何有关示例,教程,操作方法等的良好链接了解.

不同选项的学习曲线和复杂性是什么?你会选择哪一个?为什么?你有没有和你一起工作过,你的经历如何?你会如何从这个特征的项目开始?

.net c# c++ mfc visualization

1
推荐指数
1
解决办法
2183
查看次数

如何在CListCtrl中捕获滚动事件?

我将CListCtrl子类化为我自己的类,并在几个对话框和视图中使用它.我想要做的是在垂直滚动ClistCtrl时执行一些代码.我需要它在CListCtrl子类本身.

我可以使用demoncodemonkey提供的方法检测与滚动条交互时触发的滚动:

messagemap:

BEGIN_MESSAGE_MAP(CMyListCtrl, CListCtrl)
    ON_WM_VSCROLL()
END_MESSAGE_MAP()
Run Code Online (Sandbox Code Playgroud)

方法声明:

class CMyListCtrl : public CListCtrl
{
    //...
protected:
    afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
    DECLARE_MESSAGE_MAP()
};
Run Code Online (Sandbox Code Playgroud)

方法实现:

void CMyListCtrl::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
    //do some stuff here
    CListCtrl::OnVScroll(nSBCode, nPos, pScrollBar);
}
Run Code Online (Sandbox Code Playgroud)

但:

  • 鼠标滚轮不会触发OnVScroll.

  • 当点击底部部分可见的CListCtrl项目(它向上滚动以使项目完全可见)时,自动滚动也不会触发OnVScroll.例如:

部分可见的项目http://i37.tinypic.com/2guxtfn.png

单击项目9会导致ClistCtrl滚动一点,以便项目完全可见.

c++ mfc scroll clistctrl

1
推荐指数
1
解决办法
9861
查看次数