
Dialog是VB中的一个控件,它的功能是d出系统对话框,供用户选择。如:打开/保存文件,选择颜色等对话框。它的作用是:简洁快速,不必自己设计代码。
Dialog控件的添加方法是:选择“工程-部件...”,在d出的窗口中选择“Microsoft Common Dialog Control 6.0 (SP6)”,并在左边打上勾,然后按“确定”按钮,这时工具箱内就多出了一个CommonDialog控件,双击此控件图标,你的设计窗口就加入了此控件。此控件的调用代码网上已有很多例子,故此略。请自行搜索,很方便的。
下列函数为添加工具栏的代码:BOOL CTestDlg::CreatToolBar( void )
{
// 创建工具栏并绑定资源
if (!m_toolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_toolBar.LoadToolBar(IDR_TOOLBAR))
{
TRACE0("Failed to Create Dialog Toolbar")
EndDialog(IDCANCEL)
return FALSE
}
// 2 - 得出控件条大小.
CRect rcClientStart
CRect rcClientNow
GetClientRect(rcClientStart)
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST,
0, reposQuery, rcClientNow)
// 3 放置控件条位置
CPoint ptOffset(rcClientNow.left - rcClientStart.left,
rcClientNow.top - rcClientStart.top)
CRect rcChild
CWnd* pwndChild = GetWindow(GW_CHILD)
while (pwndChild)
{
pwndChild->GetWindowRect(rcChild)
ScreenToClient(rcChild)
rcChild.OffsetRect(ptOffset)
pwndChild->MoveWindow(rcChild, FALSE)
pwndChild = pwndChild->GetNextWindow()
}
// 4 - 调整对话框尺寸
CRect rcWindow
GetWindowRect(rcWindow)
rcWindow.right += rcClientStart.Width() - rcClientNow.Width()
rcWindow.bottom += rcClientStart.Height() - rcClientNow.Height()
MoveWindow(rcWindow, FALSE)
//m_webRect = rcWindow
// 5 - 控件条定位
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0)
//GetClientRect( &m_webRect )
m_webRect.left = rcWindow.left
m_webRect.bottom = rcWindow.bottom
m_webRect.right = rcWindow.right
m_webRect.top = rcChild.top
// 6 - 对框居中
CenterWindow()
return TRUE
}
头文件中添加:
CToolBar m_toolBar
在资源中自定义工具栏资源:IDR_TOOLBAR(该名字可自定义,主要与程序中的匹配)
在OnInitDialog()
中调用CreatToolBar()即能实现添加工具栏
该英语的意思为“对话”。
具体的看下(转载的)
Dialog不是系统自带的程序是后来才有的,对在任务管理器里的进程中所对应的进程应该是regsrvu.exe,对不对。好了这就找到它了。顺便问一下你用的是不是东芝的笔记本?我用的是东芝的在电脑里发现过一次,就在最近,我是这样解决的。现在系统运行没有异常。
第一步,先打开策略组在运行命令里运行msconfig,在服务里找到regsrvu这个服务禁用它,如果多大不好找点击“隐藏所有microsolft系统文件”之后对话诓里就只有几个很少的服务了。接着重启
第二步,找到Dialog它在system32中的位置,它对应的进程名是regsrvu.exe。你在系统里用查找工具一查就可以定位。它是隐藏的文件,找到后直播手动删除,在回收站里清空;然后,在运行命令里运行,regedit。打开这注册表编辑器后,也是一样用查找(Ctrl+f 那个)同样的名字不用加.exe。找到它对应的几个键值删除,注意不要看错了,是regsrvu不是regsrvx,后者是系统正常文件不能删除。我怀疑它就是伪装成这个近似名系统正常文件来混淆使用者的注意力的。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)