草庐IT

mfc-feature-pack

全部标签

c++ - CEdit 控件 MFC,将光标置于 SetWindowText 之后的字符串末尾

我正在使用VC9,我有一个CEdit控件,其内容在单击按钮时重置为默认测试(例如-“填充”),然后我调用CEdit控件的SetFocus。问题是光标在默认文本的开头闪烁,我希望它在默认字符串的末尾闪烁。如何做到这一点? 最佳答案 您可以使用CEdit::SetSel来完成那个。例子:CEdit*e=(CEdit*)GetDlgItem(IDC_EDIT1);e->SetWindowText("helloworld");e->SetFocus();e->SetSel(0,-1);//selectalltextandmovecursor

C++ 问题 : feature similar to Obj-C protocols?

我习惯于在我的代码中使用Objective-C协议(protocol);他们在很多事情上都令人难以置信。但是,在C++中,我不确定如何完成同样的事情。这是一个例子:TableView,它有一个函数setDelegate(Protocol*delegate)类Class的委托(delegate),但实现协议(protocol)“Protocol”Class2类的代表,也实现了“协议(protocol)”setDelegate(objOfClass)和setDelegate(objOfClass2)都是有效的在Obj-C中这很简单,但我不知道如何在C++中做到这一点。有可能吗?

c++ - "pragma pack 1"是否有助于避免堆碎片?

在我的程序中,我看到一些驻留大小增加了。我想这是因为堆碎片。所以我打算使用#pragmapack1。它会减少堆碎片吗?会不会有一些其他的开销?我去还是不去? 最佳答案 有一个经过充分证明的技术叫做Memorypools.它专为减少内存碎片和帮助解决内存泄漏而设计。并且应该在内存碎片成为程序功能瓶颈的情况下使用。'pragmapack1'无助于避免堆碎片。“pragmapack1”用于从结构中删除填充字节,以帮助在程序之间传输二进制结构。 关于c++-"pragmapack1"是否有助于避

windows - 从 Java Applet 获取 Windows Service Pack 版本?

我正在编写JavaApplet。在Windows上运行时,我需要能够获取客户端操作系统版本,例如WindowsXPSP3或Windows2000SP4。我目前可以使用以下内容:Stringos_name=System.getProperty("os.name");Stringos_version=System.getProperty("os.version");System.out.println("Runningon"+os_name+"("+os_version+")");它会输出类似于“在Windows2000(5.0)上运行”的输出,这很好,但我也需要能够获得服务包版本。有人知

c++ - 如何禁止 MFC 应用程序在按 ESC 或 ALTF+F4 时退出?

我有一个MFC应用程序,我不想在运行期间关闭它。我已禁用右上角的“X”图标,但现在如果我按ESC键或ALT+F4,它仍然会关闭。如果有人按下这些键,我怎样才能禁用它,这样它就不会关闭?程序运行完毕后,我想重新启用它们。谢谢,坎皮 最佳答案 如果你处理了WM_CLOSE消息并把它扔掉了。(即不调用DefWindowProc),则窗口不会关闭。您还可以使用CS_NOCLOSE样式注册窗口类,以禁用关闭窗口的所有正常方式。 关于c++-如何禁止MFC应用程序在按ESC或ALTF+F4时退出?,

c++ - 将 MFC 对话框从 STA 更改为 MTA?

我正在开发一个具有一些COM接口(interface)的API。问题在于API通过一个接口(interface)进行通信,该接口(interface)必须由加载该API的项目实现。因此,如果我要使用API,我会将其加载到我的项目中并创建一个类来实现API调用的方法,以通知我某些事情或向我传递结果。这显然成为编码噩梦。此外,由于还有一些中间对象通过API从不同的插件和管理器将调用传递给所有实现要为通知调用的方法的对象,这些对象已将自己注册到API通知程序,这在术语上已经失控了的复杂性。我在想,为了缩短加载API的人需要完成的工作,如果API遵循自由线程模型,MFC生成的类如对话框是否可以

c++ - 为什么我的 MFC 应用程序在我抛出异常时挂起?

如果您从MFC对话框中抛出异常,应用程序将挂起,即使您的代码中有一个catchblock。它拒绝响应鼠标或键盘,关闭它的唯一方法是使用任务管理器。为什么我要发布这个问题令我感到遗憾的是,有一个流行的收缩包装应用程序每次在模态对话框中遇到异常错误时都会挂起。当我们从整数错误代码大量转移到异常时,我负责选择std::exception作为抛出异常的基类。直到大量的工作投入到转换中,我们的测试才发现这个问题,到那时再改变已经来不及了。希望这个问题/答案可以防止有人犯同样的错误。 最佳答案 CDialog::DoModal的代码通过禁用父窗

c++ - MFC CWinApp 程序中的输入框?

我需要一个UI程序中的输入框,该程序是从CWinnApp类派生并使用MFC编写的。我看到它正在使用消息框,但我没有看到任何输入框的示例....我该怎么做?(在C++中使用VisualStudio6.0)谢谢。 最佳答案 我知道这是经常需要的东西,但MFC中没有内置的输入框,因此您必须创建自己的输入框。我通常只是创建一个带有标签和编辑框的简单对话框(对话框已经带有确定/取消按钮),然后创建一个类,比如CInputDlg,为标签和编辑框添加成员变量,并像任何其他对话框一样调用它:CInputDlgdialog;dialog.m_labe

c++ - 属性表 (MFC) 的 RTL 布局问题

我在阿拉伯语Windows中运行我的英语应用程序。它包含一个属性表UI(MFC)。一切似乎都很好(从左到右或LTR),除了按钮(确定、取消、应用和帮助)是从右到左或RTL。但是如何使按钮LTR呢?我试过MSDN上提到的标志PSH_RTLREADING,但它只处理窗口标题,而不处理按钮。此外,我注意到了thisdicussion但目前还没有很好的解决办法。 最佳答案 RaymondChen[1]和另一位微软员工[2]给出了答案;您必须从CDialog(又名CPropertySheet)创建的窗口中的按钮中删除WS_EX_LAYOUTR

MFC-TCP网络编程服务端-Socket

目录1、通过Socket建立服务端:2、UI设计:3、代码的实现:(1)、CListenSocket类(2)、CConnectSocket类(3)、CTcpServerDlg类1、通过Socket建立服务端:(1)、创建一个Socket对象并绑定一个端口:CListenSocket监听Socket(2)、通过Listen()函数,监听来自客户端的连接请求(3)、连接请求到来之后,建立一个通信用的Socket,CConnectSocket,并且加入数组中(4)、使用Send()、Receive()函数,接收客户端发送的数据,并遍历数组,一次转发消息2、UI设计:3、代码的实现:(1)、CList