怎样修改mfc中应用程序标题的图标

怎样修改mfc中应用程序标题的图标,第1张

1.修改前半部分:

可以重载文档类的虚函数SetTile,如下

void CTestDoc::SetTitle(LPCTSTR lpszTitle)

{

CDocument::SetTitle(L"你的标题")

}

也可以在UITESTDoc.app中,在BOOL CUITESTDoc::OnNewDocument()函数中添加SetTitle(L"你的标题")

2.修改后半部分:

改资源字符串

在资源视图的String Table中找到IDR_MAINFRAME,将其标题改为你想要的标题

3.去掉-:

去掉标题中间的-,只显示后面的标题,

方法1:通过重载CFramWnd类的OnUpdateFrameTitle函数

virtual void OnUpdateFrameTitle(BOOL NaDa)

void CMainFrame.:OnUpdateFrameTitle(BOOL NaDa)

{

CString csAppName

csAppName.Format(AFX_IDS_APP_TITLE)

SetWindowText(csAppName)

}

此时显示的结果只有字符串资源AFX_IDS_APP_TITLE所定义的字符串,当然也可以把SetWindowText(csAppName)中的csAppName换成你想要的标题字符串。

方法2:在CMainFrame的PreCreateWindow函数中修改窗口风格

BOOL CMainFrame.:PreCreateWindow(CREATESTRUCT&cs)

{

cs.style. &= ~(LONG) FWS_ADDTOTITLE

return CFrameWnd::PreCreateWindow(cs)

}

使用此方法,窗口的标题只显示IDR_MAINFRAME字符串中第一个\n之前的部分

二.修改图标

替换默认的MFC图标,先要自己画一个符合格式要求的位图或从外部导入一个图标,修改其属性名,假设为IDI_IDI1。在MainFrm的OnCreate()里添加如下代码:

HICON m_hIcon

m_hIcon = AfxGetApp()->LoadIcon(IDI_IDI1)

SetIcon(m_hIcon, TRUE)// Set big icon

SetIcon(m_hIcon, FALSE)// Set small icon

其中big icon是32×32,small icon是16×16

Option Explicit

'声明API

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As Long

Private Sub Form_Load()

'声明句柄变量

Dim hwnd As Long

'查找窗口句柄

hwnd = FindWindow(vbNullString, "正达物流管理系统")

'设置新标题

SetWindowText hwnd, "Decold物流管理系统"

End Sub

同时,你可以加一个时钟,将Interval属性设置为1对窗口句柄进行自动查找。

标题可以改的啊,

AfxGetMainWnd()->SetWindowText("你要的标题")

这样就可以了

如果想程序运行的时候就是这个标题,那么在App的InitInstance里改就好了


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

原文地址: http://outofmemory.cn/yw/12016933.html

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

发表评论

登录后才能评论

评论列表(0条)

保存