当前位置:文档之家› vc基于对话框的应用程序添加启动画面

vc基于对话框的应用程序添加启动画面

vc基于对话框的应用程序添加启动画面
vc基于对话框的应用程序添加启动画面

vc基于对话框的应用程序添加启动画面(2009-05-10 16:26:36)转载▼标签:it 分类:VC 1、利用组件库中的Splash Screen组件生成Splash1.cpp 和Splash1.h 这两个文件(也就是基于框架类的应用程序添加启动画面的步骤)

(1)用Photoshop等制作启动画面图像,保存为bmp格式。

(2)用Appwizard建一个基于单文档的工程Splash。

(3)在资源中插入位图资源打开VC++的资源编辑器,用鼠标右键单击Resources文件夹,选择Import命令,插入所制作的位图。如果位图超过256色,VC会弹出一个对话框,提示位图已经插入但不能在位图编辑器中显示,确定即可。将位图ID改为IDB_SPLASH。

(4)添加Splash Screen控件

①选择菜单“project”/“Add To Project”/“Conponents and Controls”打开对话框,在列表框中双击“Visual C++ Conponents”选项,选择“Splash Screen”控件,然后单击“Insert”。

②确认或修改类名和位图资源ID,单击OK确认。

③编译、连接,漂亮的启动画面就显示出来了。

(5)如果需要改变启动画面的停留时间,就修改SetTimer()函数的第二个参数,默认是750 毫秒。该函数所在位置:

int CSplashWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)

{

...

// Set a timer to destroy the splash screen.

SetTimer(1, 2000, NULL); //修改第二个参数以调整画面停留时间

return 0;

}

这样就生成了Splash1.cpp 和Splash1.h 这两个文件

2、制作基于对话框的应用程序启动画面

(1)建立基于对话框的工程Cover。

(2)文件移植

①将Splash1.cpp 和Splash1.h 两个文件从步骤一建立的工程拷贝到Cover工程中,并且分别加入到Source Files和Header Files中;

②导入位图文件到工程的资源中,改ID为IDB_SPLASH。

(3)修改代码,实现启动画面的调用

①添加CCoverApp 的InitInstance() 函数代码

#include "Splash1.h" //加在Cover.cpp文件的头文件调用部位

BOOL CCoverApp::InitInstance()

{

CCommandLineInfo cmdInfo;

ParseCommandLine(cmdInfo);

CSplashWnd::EnableSplashScreen(cmdInfo.m_bShowSplash);

...

}

②使用ClassWizard 添加OnCreate() 函数到对话框类CCoverDlg中,并修改代码#include "Splash1.h" //加在CoverDlg.cpp文件的头文件调用部位

int CCoverDlg::OnCreate(LPCREATESTRUCT lpCreateStruct)

{

...

CSplashWnd::ShowSplashScreen(this); //显示启动画面

...

}

3.使得启动画面消失后再显示主程序

①在CCoverDlg类中添加WM_TIMER消息响应函数

void CCoverDlg::OnTimer(UINT nIDEvent)

{

// TODO: Add your message handler code here and/or call default

this->MoveWindow(300,300,600,400);

CDialog::OnTimer(nIDEvent);

}

②在intCCoverDlg::OnCreate(LPCREATESTRUCT lpCreateStruct)中添加如下代码:

CSplashWnd::ShowSplashScreen(this);

this->MoveWindow(0,0,0,0);

this->SetTimer(1,2000,NULL);//注意这个2000一点要等于步骤1中的2000

return 0;

③在void CCoverDlg::OnPaint()的末尾添加如下代码:

this->KillTimer(1);

VC 中自己创建对话框方法

VC中自己创建对话框的方法 这里讲在VC中不需要打开MFC工程,通过代码直接创建一个对话框,我看这个对话框比MFC的漂亮多了,而且要写会代码不需要研究MFC就直接开发新的工程. 先打开VC++ 6.0 版本, 第一步:创建一个工程名为:Main Dialog 的Win32 Application。创建过程如下: 打开File菜单中New,选自Win32 Application,工程名为:Main Dialog,点击OK,再选自A simple Win32 application。点击Finish,再点击OK.(见图1) 第二步:创建资源脚本。再打开File菜单中New,选自File选项的Resource Script(就是资源脚本),文件名为Dialog,点击OK。

(见图2) 第三步:插入对话框。刚才建立的脚本Dialog显示为Dialog.rc,就在Dialog.rc上面点击鼠标右键Insert(插入)Resource中选自插入Dialog(对话框),点击New(新建),这样对话框插入完毕。(见图3)

第四步:添加resource.h。我们把第四步插入的对话框ID改为IDD_MAIN ,在FileView中有个Header Files的文件,上面点击右键,选择Add Files to Folder...(添加文件到目录),弹出一个工程目录窗口,中间找到resource.h,然后OK了(添加)。(见图4)

第五步:复制代码。双击Main Dialog.cpp,我们写代码的位置出现了(见图5),那里有几行代码,把它们全部删掉,下面已经准备好的代码全部复制到那里,编译,执行,您的是否成功了? #include "stdafx.h" #include "resource.h" #include BOOL WINAPI Main_Proc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam); BOOL Main_OnInitDialog(HWND hwnd,HWND hwndFocus,LPARAM lParam); void Main_OnCommand(HWND hwnd,int id,HWND hwndCtl,

VC对话框控件属性的修改

【作者按】本文主要针对初学者在使用对话框赋值时的一些问题而写。如果你对对话框的使用已经很熟练,请跳过本文。 【针对现象】许多初学者,常常写出这样的程序来修改对话框中某个按钮的标题: 其中m_Btn的定义为CButton m_Btn; 这段程序运行后会报错,debug一下,错误会指向一个断言语句 ASSERT(::IsWindow(m_hWnd));报告窗口指针为空。看一下m_hWnd,等于0x00000000.其实就是m_Btn这个CButton对象的句柄为空。 【原因分析】出现这种错误的原因,显然是m_Btn这个窗口对象还没有创建造成的。我们看一下CMyDialog dlg这个构造函数,看一看MSDN对CDialog构造函数的说明。其实它只是简单的创建了一个对话框实例。这里我这样理解,就是对话框是一个容器,而对话框上的各个控件是容器中包含的对象。对话框的构造函数只是构造了一个容器,而并没有创建容器中的各个对象。我想这里大家就应该明白为什么m_Btn的句柄为空了。 那对话框中的控件在什么时候被创建的呢?我个人没有仔细的研究过,但从个人使用的经验看,应该在DoModal函数和对话框的Create函数中创建的。因为使用一个模式对话框时,m_Btn.SetWindowText("MyButton")语句在OnInitDialog函数中执行没有问题。所以应该在DoModal中创建的。至于DoModal中是如何创建的,欢迎各位高手给与讲解。而对于非模式对话框,以下的程序运行没有问题: 可见控件的创建应该在Create函数中。

[解决办法]那么,如果非要实现这样的功能怎么办呢?笔者的解决办法是在对话框类中增加成员变量,比如m_sBtnTitle。数据的传递有以下三种方法: 1。增加Set函数,比如SetBtnTitle(CString str); 调用程序如下: 2。将m_sBtnTitle定义成公有类型。 那么dlg.m_sBtnTitle = "MyButton";就可以了。 3。修改或者重载一个新的构造函数,比如: 最后,在对话框类的初始化函数增加m_Btn.SetWindowText(m_sBtnTitle);即可。 还有一些网友提供的方法是定义全局变量。当然,首先肯定全局变量是可以完成此功能的。不过笔者并不赞同用全局变量的方法。对于面向对象的编程和设计来说,全局变量应该尽量少使用,因为全局变量将增加模块之间的耦合度,与面向对象的思想是有违背的。正如goto 语句,好用但尽量少用。在这里笔者并不是反对用全局变量,而是要看情况而用。笔者曾经开发过一个日本项目,粗略计算一下,全局变量不下于1000个,这样的程序的维护难度可想而知。 希望此文能够帮助初学者在VC之路上少走一些歪路,尽快融入VC开发大军。

VC++对话框添加工具栏

VC++对话框添加工具栏 1、添加工具栏资源ID为IDR_TOOLBAR 2、在对话框的类定义中加: CToolBar m_ToolBar; 3、在OnInitDialog中或其它合适的消息响应中加如下代码:(函数可查看MSDN) m_ToolBar.Create(this); //创建工具栏 m_ToolBar.LoadToolBar(IDR_TOOLBAR);//加载工具栏 //得出控件条大小. CRect rect; CRect rectNow; GetClientRect(rect); RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0,reposQuery,rect Now); //放置控件条位置 CPoint ptOffset(rectNow.left-rect.left,rectNow.top-rect.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(); } //调整对话框尺寸 CRect rcWindow; GetWindowRect(rcWindow); rcWindow.right+=rect.Width()-rectNow.Width(); rcWindow.bottom+=rect.Height()-rectNow.Height(); MoveWindow(rcWindow, FALSE);

B接口服务程序配置使用说明(V6[1].6&V6.2通用)

B接口服务程序配置使用说明 1 B接口服务程序简介 B接口服务程序为广东移动省公司集中监控系统(CSC)地区监控中心端(LSC)服务程序。依照《中国移动机房动力环境监控系统技术规范GF006-2001》开发。由于监控之星系统与B接口规范业务配置结构不同。为了能使LSC能接入到CSC,需对监控之星作如下约束: 定义:在监控之星中,类型为“区”或“站”的逻辑对象定义为“局站”,类型为“电源”、“空调”或“环境”的逻辑对象定义为“设备”。 1.配置中设备类型为“区”或“基站”的逻辑对象总数小于1022; 2.配置中每个设备类型为“区”或“基站”的逻辑对象的下属设备类型为 “电源”、“空调”或“环境”的逻辑对象总数小于62; 3.每个逻辑对象下属数据对象数量小于2046; 4.将现系统中“楼层”及以上层次逻辑对象的设备类型属性设置为“区” 或“站”; 5.楼层内“房间”、“门禁”逻辑对象的设备类型属性设置为“环境”; 6.系统中的电源、配电柜、UPS、电池组、逆变器等电力设备逻辑对象的设 备类型属性设置为“电源”; 7.空调等环境调节设备逻辑对象的设备类型属性设置为“空调”; 8.电源、UPS等智能设备下属的模块等逻辑对象的设备类型属性设置为“其 他”; 9.逻辑对象的设备类型属性为“其他”的逻辑对象下一级不允许有逻辑对 象。 10.局站下必需有设备,否则将类型改为“环境”。 11.局站下直接挂接有环境数据的逻辑对象下添加类型为“环境”的逻辑对 象名称为“机房环境”,并将环境数据复制到“机房环境”下。 2 B接口服务程序安装 首先建立B接口服务程序的数据库表,这里用数据库脚本文件生成,B接口服务程序一共有七个数据库脚本文件,如下图1。

VC++实现对话框工程中添加菜单

VC++对话框程序中添加菜单 在VC中创建一个基于对话框的MFC程序,要在其中添加菜单总共分三步: 1、首先插入一个菜单资源IDR_MENU1,然后可以编辑修改菜单; 2、然后在为对话框添加一个CMenu类型的成员变量m_Menu; 3、在OnInitDialog()中添加如下的代码: m_Menu.LoadMenu(IDR_MENU1);//载入菜单 SetMenu(&m_Menu); //显示菜单 经过这三步以后菜单就可以显示出来了。 MFC 对话框工程中添加菜单(VC++ 6.0编译器) MFC 对话框工程中添加菜单(VC++ 6.0编译器) 第一步:创建对话框资源和菜单资源. 第二步:添加菜单到对话框中 方法一: 在创建的对话框中右键,在Menu选项选择自己的菜单ID如下图

此时就可以了. 方法二: 不用方法一,直接添加代码完成上述功能. 添加代码到DialogDlg ::OnInitDialog中 CMenu *menu = new CMenu; menu ->LoadMenu(MAKEINTRESOURCE(IDR_MENU)); //IDR_MENU 菜单ID this ->SetMenu(menu); 或者 Cmenu m_menu; m_menu.LoadMenu(IDR_MENU); SetMenu(&m_menu); 此时结果如下图 最后在添加菜单到对话框类中,实现其各种功能. 下面是在上面的基础上实现的通用对话框空间的功能代码,方便以后开发使用. (1)打开文件对话框 条件: OPENFILENAME结构体初始化 GetOpenFileName函数调用

服务器启动的6种方式

服务器启动的6种方式 Oracle 9i的数据库服务器有6种启动的方式,如表3.3所示。表3.3 服务器启动的6种方式 方式特点 正常启动启动装载和打开数据库,用户可以进行正常访问 不装载启动在未装载数据库的情况下启动服务器,由于未打开数据库,所以不允许用户访问 装载启动启动服务器并装载数据库,但不打开数据库。不允许用户访问 强制启 动 强制启动未能正常关闭或正常启动的服务器 限制会话启动只有具备“限制会话”(Restricted Session)系统权限的用户才能连接到数据库 只读启动只读方式只允许用户查询打开的数据库,因此不可能进行联机数据库修改 正常启动 (1)如图3.40所示。 (2)出现如图3.41所示的【启动选项】界面。单击“确定”按钮。 (3)服务器启动完毕,出现如图3.42所示的界面。 (4)正常启动例程后,例程状态绿灯亮,表明数据库已经正常打开可以进行连接访问,如图3.43所示。

不装载启动 (1)如图3.44所示为【启动选项】界面。单击"确定"按钮。(2)出现如图3.45所示界面,单击"关闭"按钮。 (3)如图3.46所示。

(3)如图3.46所示。 (1)如图3.47所示为【启动选项】界面。 (2)出现如图3.48所示界面。 (3)例程状态黄灯亮,【启动】单选钮被选中,如图3.49所示。

强制启动 (1)以“SYSDBA”身份登录【SQL Plus】。 (2)在【SQL Plus】中执行“startup force;”语句,出现如图3.50所示界面,说明例程已经被启动,数据库被装载和打开。 限制启动 (1)如图3.51所示为【启动选项】界面。

VC中对话框使用技巧集合

注:以下代码以一个名为CTest6Dlg的对话框类为例 -------------------------------------------------------------------------------- 1. 在任务栏隐藏对话框 ModifyStyleEx(WS_EX_APPWINDOW, WS_EX_TOOLWINDOW); -------------------------------------------------------------------------------- 2. 使对话框为顶层窗口 SetWindowPos(&this->wndTopMost, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE); -------------------------------------------------------------------------------- 3. 在运行时添加最大化,最小化按钮 SetWindowLong(this->m_hWnd, GWL_ST YLE, GetWindowLong(this->m_hWnd, GWL_ST YLE) | WS_MINIM IZEBOX | WS_MAXIMIZEBOX); UpdateWindow(); -------------------------------------------------------------------------------- 4. 使能对话框右上角关闭按钮 在OnInitDialog中 方法一: CMenu* menu = GetSystemMenu(FALSE); menu->Modify M enu(SC_CLOSE, MF_BYCOMMAND | M F_GRAYED ); 方法二: CMenu* menu = GetSystemMenu(FALSE); menu->EnableMenuItem(SC_CLOSE, MF_BYCOMMAND | MF_GRAYED); -------------------------------------------------------------------------------- 5. 当对话框一部分在屏幕外时,显示全部对话框 SendMessage(DM_REPOSITION); -------------------------------------------------------------------------------- 6. 改变鼠标外形 添加WM_SETCURSOR 消息映射函数 BOOL CTest6Dlg::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) { SetCursor(AfxGetApp()->LoadStandardCursor(IDC_HELP)); return 0; } -------------------------------------------------------------------------------- 7. 改变对话框背景色和文本颜色 在CTest6App的InitInstance中添加

用delphi7编写windows服务程序

用delphi7编写windows服务程序总结 一、服务程序的创建 delphi编写服务程序非常简单,点击菜单File->New->Other->New属性页->Service Application,系统自动会创建基本的代码。这里需要说明的是,在“New属性页”中还有一个Service,这个Service和Service Application还是有区别的,应该说Service Application的范围大,它可以包含几个Service。 一个Service Application可以创建几个Service,service继承自TService,界面表现和TDataModel类似,做过数据库的朋友肯定都不陌生,区别是TDataModel是用来放数据库连接及操作组件的容器,而TService则是可以存放很多没有界面的组件,如indy的IDtcpclient等。 二、重要属性及事件说明 属性:DisplayName 显示名称 Name 名称,当你用命令提示符来启动、停止服务时,就需要用到 Interactive 与界面交互的选项 事件:OnCreate:类似于Tform的OnCreate OnDestroy:类似于Tform的OnDestroy OnExecute:非常重要,一般写成下面 while not Terminated do begin Sleep(10); ServiceThread.ProcessRequests(False); end; OnPause:服务暂停 OnShutdown:不太清楚 OnStart:服务启动,重要

OnStop:服务停止,重要 三、服务的依赖关系 因为我的服务是要连接数据库的,所以必须要等sql server的服务起来之后,我才能起来,这样才能连接数据库,因此这里面有个依赖关系的问题。可以在属性Dependencies 中增加一项,选择MSSQLSERVER。 四、服务与界面的通讯 服务也是可以创建form的,只是只是这个窗口,在服务启动时显示,服务停止后就关闭了。而我想做一个就象sql server 2000的服务管理器哪样的界面,不论服务启动是否,都可以显示,而且也可以在界面上直接控制服务。所以我就又建了一个应用,而这个应用和原来服务的通讯用自定义消息来传递。比如,有人通过控制面板停止服务了,服务必须通知界面上的状态。 Delphi获取Windows系统服务的状态 function ServiceGetStatus(sMachine, sService: string ): DWord; var schm, schs: SC_Handle; ss: TServiceStatus; dwStat : DWord; begin dwStat := 0; schm := OpenSCManager(PChar(sMachine), Nil, SC_MANAGER_CONNECT); if (schm > 0) then begin schs := OpenService(schm, PChar(sService), SERVICE_QUERY_STA TUS); if(schs > 0) then

VC++对话框中使用表格控件的方法

在对话框中使用表格控件的方法: 将该控件改成“report”类型,方法如下。 首先打开该控件的属性,将其设置为“Report”类型,如下图所示。

改完后变为如下形式,是变成了一个列表框。 下面说一下如何通过代码向控件中填加内容,主要是设置表头,然后加入内容,至少有两种方法可以进行信息的加入,下面仅介绍一种。 首先向与对话框对应的类中加入一个与ListControl控件对应的成员函数。填加方法如下:

运行“ClassWizard”定义一个类的ListCtrl控件成员,填加界面如下,其中IDC_LIST1是上面填加的表格控件的ID 。 选中“Member Variables”标签,点击“Add Variable”出现如下对话框,添加变量名,添加后,就会在与对话框对应的类中加如m_List变量,类型为CListCtrl。

在程序中加入如下代码,实现在表格中显示信息: m_List.InsertColumn(0,"Col 1",LVCFMT_LEFT,80,0); //设置列 m_List.InsertColumn(1,"Col 2",LVCFMT_LEFT,80,1); m_List.InsertColumn(2,"Col 3",LVCFMT_LEFT,80,2); m_List.InsertItem(0,"Item 1_1"); //插入行 m_List.SetItemText(0,1,"Item 1_2"); //设置该行的不同列的显示字符m_List.SetItemText(0,2,"Item 1_3"); 运行上面几行代码后的效果如下图所示。

Windows服务

Windows 服务应用程序介绍 Microsoft Windows 服务(即,以前的 NT 服务)使您能够创建在它们自己的Windows 会话中可长时间运行的可执行应用程序。这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面。这使服务非常适合在服务器上使用,或任何时候,为了不影响在同一台计算机上工作的其他用户,需要长时间运行功能时使用。还可以在不同于登录用户的特定用户帐户或默认计算机帐户的安全上下文中运行服务。有关服务和 Windows 会话的更多信息,请参见MSDN Online 的 Platform SDK 文档中的“About Services”部分。 注意Windows 服务应用程序项目模板和相关的功能在 Visual Basic 和 Visual C# .NET 的标准版中不可用。有关更多信息,请参见Visual Basic 标准版功能或Visual C# 标准版的功能。 通过创建作为服务安装的应用程序,可以轻松地创建服务。例如,假设要监视性能计数器数据并对阈值做出反应。可以编写一个侦听性能计数器数据的 Windows 服务应用程序、部署该应用程序并开始收集和分析数据。 将服务创建为 Microsoft Visual Studio .NET 项目,并在其中定义特定代码,以控制可以发送到服务的命令和接收到这些命令时采取的操作。可以发送到服务的命令包括开始、暂停、继续和停止该服务,以及执行自定义命令。 创建并生成了应用程序后,可以通过运行命令行实用工具InstallUtil.exe 并将路径传递给服务的可执行文件,或通过使用 Visual Studio 的部署功能来安装该应用程序。然后可以使用服务控制管理器启动、停止、暂停、继续和配置服务。这些任务中有许多也可以在“服务器资源管理器”的“服务”节点中或通过使用ServiceController类来实现。 服务应用程序与其他 Visual Studio .NET 应用程序对比 服务应用程序与其他许多项目类型的功能在几个方面有所不同: ?必须将服务应用程序项目创建的已编译可执行文件安装在服务器上,此项目才能以有意义的方式运行。不能通过按 F5 键或 F11 键来调试或运行服务应 用程序;不能立即运行服务或进入并单步执行其代码。相反,必须安装和启动服务,然后将一个调试器附加到服务的进程中。有关更多信息,请参见调试 Windows 服务应用程序。 ?与一些类型的项目不同,对于服务应用程序,必须为其创建安装组件。安装组件在服务器上安装和注册服务,并用 Windows 服务控制管理器为服务创 建一个项。有关更多信息,请参见将安装程序添加到服务应用程序。

VC 对话框自带滚动条的使用

VC对话框自带滚动条的使用 一,使用对话框窗口自带的滚动条,在属性页面中设置即可,如下 二,OnInitDialog()函数中,添加如下滚动条初始化语句 SCROLLINFO vinfo; vinfo.cbSize =sizeof(vinfo); vinfo.fMask =SIF_ALL; vinfo.nPage =50;//滚动块自身的长短,通常有如下关系:其长度/滚动条长度(含两个箭头)=nPage/(nMax+2),//另外nPage取值-1时,滚动条会不见了。 vinfo.nMax =600;//滚动条所能滚动的最大值 vinfo.nMin=0;//滚动条所能滚动的最小值 vinfo.nTrackPos =0; SetScrollInfo(SB_VERT,&vinfo);//即使上述步骤一不做,使用此条语句也可以显示滚动条 三,添加相应的WM_VSCROLL函数

void CMy1d0Dlg::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { // TODO: Add your message handler code here and/or call default SCROLLINFO scrollinfo; GetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL); switch (nSBCode) { case SB_BOTTOM: //滑块滚动到最底部 ScrollWindow(0,(scrollinfo.nPos-scrollinfo.nMax)*10); //滚动屏幕 scrollinfo.nPos = scrollinfo.nMax; //设定滑块新位置 SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL); //更新滑块位置 break; case SB_TOP: //滑块滚动到最顶部 ScrollWindow(0,(scrollinfo.nPos-scrollinfo.nMin)*10); scrollinfo.nPos = scrollinfo.nMin; SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL); break; case SB_LINEUP: //单击上箭头 scrollinfo.nPos -= 1; if (scrollinfo.nPosscrollinfo.nMax) { scrollinfo.nPos = scrollinfo.nMax; break; } SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL); ScrollWindow(0,-10); break; case SB_PAGEUP: //单击滑块上方空白区域 scrollinfo.nPos -= 5; if (scrollinfo.nPos

UD启动界面编辑MsgDiyer及FbinstTool使用图文教程

UD启动盘:UD启动界面编辑MsgDiyer 及FbinstTool使用教程 第一部分:UD启动界面的编辑 1.所需软件: 1)MsgDiyer.exe(链接:https://www.doczj.com/doc/fb17084538.html,/soft/48756.htm 或自己在网上搜索下载); 2)FBA文件里的message文件(可通过FbinstTool导出)。2. MsgDiyer软件界面如下: 3.编辑message文件: 很简单勾选“修改message”弹出文件选择框,选择你要编辑的

message文件,然后在“基本参数”和“颜色编码”两个窗口里面编辑你的启动界面的各种参数。 点击“修改预览菜单”,将你的FBA文件里的Grldr菜单复制到里面,在点击“模拟预览”就能看到你的启动界面了。 编辑好后点击“开始制作”即可生成新的message文件。这样,自己的启动画面就制作完成了。 下面就可以开始制作UD启动盘了。 第二部分:写入到U盘,以便从U盘启动 FbinstTool下载: https://www.doczj.com/doc/fb17084538.html,/viewthread.php?tid=189221 1.所需文件: 1)FbinstTool.exe ;

2)FBA文件(*.fba)。 2.FbinstTool界面: 3.操作步骤: 1)选择U盘:

2)依次选择:启动设置 - - - 格式化:

3)在之后弹出的格式化选项界面上勾选:强行格式、UD扩展分区、闪存块对齐,同时勾选“存档文件”,选择你准备好的FBA文件。然后点“确定”,在之后弹出的提示也一直选择“确定”。 如下图所示: 说明:这里注意一下,UD扩展分区的大小要比你准备的FBA文件大,否则将出现:格式化失败“磁盘容量不足”的提示。 根据我个人的经验,其中UD扩展分区可以不要勾选,这样的话其大小由FBA文件定义了,就不会出现容量不足的提示。这里勾选是为了便于以后编辑在U盘上的UD启动文件。 4)第3步选好后直接单击“格式化”按钮,之后有提示都选“确定”

VC改变对话框按钮字体颜色和背景的解决方案

要想修改CButton类按钮背景颜色和文字颜色,必须利用自绘方法对按钮进行重新绘制。这可以通过定义一个以CButton为基类的新按钮类来实现。以下为具体的实现方法: 方法一: 加入一个新类,类名:CMyButton,基类:CButton。 在头文件MyButton.h 中加入以下变量和函数定义: private: int m_Style; //按钮形状(0-正常,1-当前,2-按下,3-锁定) BOOL b_InRect; //鼠标进入标志 CString m_strText; //按钮文字 COLORREF m_ForeColor; //文本颜色 COLORREF m_BackColor; //背景色 COLORREF m_LockForeColor; //锁定按钮的文字颜色 CRect m_ButRect; //按钮尺寸 CFont* p_Font; //字体 void DrawButton(CDC *pDC); //画正常的按钮 // 接口函数 public: void SetText(CString str); void SetForeColor(COLORREF color); //设置文本颜色 void SetBkColor(COLORREF color); //设置背景颜色 void SetTextFont(int FontHight,LPCTSTR FontName); //设置字体 在MyButton.cpp 的构造函数中初始化变量: CMyButton::CMyButton() { m_Style = 0; //按钮形状风格 b_InRect = false; //鼠标进入标志 m_strText = _T(""); //按钮文字(使用默认文字) m_ForeColor = RGB(0,0,0); //文字颜色(黑色) m_BackColor = RGB(243,243,243); //背景色(灰白色) m_LockForeColor = GetSysColor(COLOR_GRAYTEXT); //锁定按钮的文字颜色p_Font = NULL; //字体指针 } 用ClassWizard添加下列消息函数: PreSubclassWindow(); DrawItem(); onMouse Move(); OnLButtonDown(); OnLButtonUp(); 在各函数内加入代码: void CMyButton::PreSubclassWindow() { ModifyStyle( 0, BS_OWNERDRAW ); //设置按钮属性为自画式 CButton::PreSubclassWindow();

5.网狐游戏服务启动配置方法

服务器管理器使用方法 简介:深圳网狐科技有限公司棋牌服务端启动由三个地方组成:中心服务器、游戏服务、登陆服务器。中心服务器负责游戏房间的注册,游戏服务就是游戏房间,登陆服务器负责用户的登陆。 注意,启动顺序一定要安装先启动中心服务器,再启动游戏服务(也就是房间),一个游戏服务只能表示一个房间,最后启动登陆服务器 启动中心服务器 双击CenterServer.exe出现如图界面 然后单击参数配置出现如图界面

填写好您的服务器的数据库IP地址,端口,数据库账号和密码后点击确定 然后点击启动服务即可启动服务 注意:如果服务无法启动,请检查数据库的配置,和数据库IP 用户名密码端口填写是否正确 启动游戏服务 双击游戏服务加载器ServiceLoader.exe如下图 点击系统配置出现如下界面

请正确填写您的数据库信息与中心服务器的IP地址。点击确认后,回到初始界面。再点击创建房间出现如下界面 在打开窗口中选择你要创建的游戏DLL。确认后进入房间配置界面

第一步创建房间 常规配置 常规配置只需要配置房间标示游戏类型桌子数目服务端口服务器地址数据库名字(默认不需要配置)和数据库地址 1.房间标识:房间的唯一标示建议:四位数以上,以数字+类型标示组成。不足四位的 以0填补。如 6001 (唯一,不可重复) 2.游戏类型:游戏的类型一般类型标示小于100的选择金币游戏。其余选择积分游戏 3.桌子数目.这里填写你在这房间的桌子数.程序会为你计算出这房间最大进入人数.基数 为100.最多请不要超过150张桌子每个房间建议:60张桌子 4服务端口:服务的通讯端口建议与房间标示配置为一样(唯一,不可重复) 5服务地址:本机公网IP地址 6数据库地址:数据库地址

在Windows 下使用和调试Linux 图形界面程序

在Windows 下使用和调试Linux 图形界面程序 Windows下可以通过SSH客户端或Telnet程序远程登录到Linux/Unix 上进行管理,编程开发和调试字符界面程序.比如用Magic Unix C++这样的Windows 下的集成开发环境.界面完全模仿VC++ 6.0.可以象VC++单步调试Windows程序一样,去调试Linux或Unix远程主机应用程序.非常高效和方便. Linux图形界面程序呢?是否能通过这种方法,在Windows下单步调试.Magic Unix C++的文档提到是可以通过StartNet的X-Win32 来完成调试.但是文档写得非常简单.后来经过查找资料和试验,发现是确实是可以用这个方法在Windows 下单步调试图形界面程序. Windows下调试Linux 时图形界面原理就是利用了X Windows 体系是一个C/S结构的原理,在Linux 上运行一个X Windows 服务器.在Windows 下运行一个X-Windows客户端.Magigc Unix C++ 通过X Windows客户端与服务器通讯完成图形界面软件的调试. 因此要在Windows调试Linux GUI程序,必须配置如下软件 1.配置X-Windows 网络服务 2.在Windows下安装和配置X-Win32 3.在Magic Unix C++配置和调试软件 以下将以Redhat 9.0 为例,演示如何安装远程的X-Client客户端 配置X-Windows 网络服务 X-Window是用在大多数UNIX系统中的图形支持系统。如果你在你的Linux机器上使用GNOME或者KDE的话,你就正在使用X系统。它由 X联盟(https://www.doczj.com/doc/fb17084538.html,)定义并维护。大多数的Linux用户使用的都是由 XFree86 项目 (https://www.doczj.com/doc/fb17084538.html,)提供的X Window系统的实现。 xdm 使用X联盟的X显示管理控制协议,即XDMCP,来和X服务器通信。它允许X服务器从运行xdm服务的服务器上获得会话服务。 基本概念: 1、什么是XFree86 XFree86是X Window系统的一种开放源代码的实现。它提供了一种对鼠标、键 盘、显卡和窗口图形环境的Client-Server接口。所以客户端程序可以运行在不同 的主机上,由一台服务器提供X Window的Server服务。 2、什么是XDMCP XDMCP即“X Display Manager Control Protocol”,是一种网络协议。由它来建立 图形客户端程序与X Window服务器的连接与通信。 3、什么是XDM XDM即“X Display Manager”,由它来启动X Window服务器,并管理图形客户 端程序的登录、会话、启动窗口管理器(KDE、Gnome)等。KDE和Gnome也 提供了自己的xdm的实现,分别叫kdm和gdm。

VC设置对话框背景

VC设置对话框背景 少将2014-11-20 VC对话框默认的灰度背景实在是不美观,填充背景图成了改善用户界面的一个很好的选择。 首先在资源视图中添加一个位图资源,如命名为IDB_BMPBK。 在对话框中添加OnEraseBkgnd()事件处理函数,用于擦除背景进行重绘。其中添加的代码如下: BOOL DialogClass::OnEraseBkgnd(CDC* pDC) { //创建内存DC CDC MemDC; //CBitmap对象 CBitmap Bitmap,*pOldBitmap; //BITMAP句柄 BITMAP bm; //加载位图 Bitmap.LoadBitmap(IDB_BMPBK); //将位图资源与句柄绑定 Bitmap.GetObject(sizeof(BITMAP),&bm); //创建与内存兼容的DC MemDC.CreateCompatibleDC(pDC); //替换原位图 pOldBitmap=(CBitmap*)(MemDC.SelectObject(&Bitmap)); //获取绘制的区域 CRect rcClient; GetClientRect(&rcClient); //绘制到客户区 pDC->BitBlt(0,0,rcClient.Width(),rcClient.Height(),&MemDC,0,0,SRCCOPY); MemDC.SelectObject(pOldBitmap); MemDC.DeleteDC(); return TRUE; } 默认生成的OnEraseBkgnd()处理函数会有调用基类的处理函数然后再返回结果,要注意把这一句直接删除,然后直接返 TRUE。

VC++自定义控件的建立及使用方法

VC++自定义控件的建立及使用方法 本文来自: https://www.doczj.com/doc/fb17084538.html, 详细来源请参考:https://www.doczj.com/doc/fb17084538.html,/techntxt/201298191132524755545 VC++自定义控件的建立及使用方法来源:https://www.doczj.com/doc/fb17084538.html,/ 发布日期:2012-09-08 点击次数:168 发布者IP:218.25.20.78 VC++自定义控件的使用方法 一、VC++定义自定义控件与delphi,VB有些差异。delphi,vb在file-new-other中建立。vc++在工具栏中就有 自定义控件,但必须加入控件类型。许多书籍都在类向导中建立。我这里介绍的是手动建立,其结果是一样的 。 二.建立过自定义控件类型: 2.1、把工具栏上的自定义控件放入对话框中 2.2、建立Mycontrol.h, Mycontrol.cpp文件 2.3、Mycontrol.h中的定义是 #ifndef __MYCTROLTRL_H__ #define __MYCTROLTRL_H__ #define MYWNDCLASS "mycontrol" #include class CMycontrol: public CWnd { private: public: static BOOL RegisterWndClass(); CMycontrol(); void customfun();//一个自定义方法 }; #endif 2.4 Mycontrol.cpp中的实现部分 #include "StdAfx.h" #include "mycontrol.h" CMycontrol::CMycontrol() { CMycontrol::RegisterWndClass(); } //注册控件RegisterWndClass格式是固定的不要记忆没有那个必要直接拷贝粘贴就可以。 CMycontrol::RegisterWndClass() {

ATL 服务程序

1. 新建项目。 1-1. 启动Visual Studio 2008。选择File -> New -> Project...。 1-2. 在New Project 对话框中,选择Visual C++ 中的ATL Project 模板,写入项目名称:ShowjiSvc,点OK。 1-3. 在打开的ATL Project Wizard - ShowjiSvc 中,点Application Settings,选择Server type 为 Service(EXE),点Finish。 2. 安装、卸载服务。 2-1. 编译项目。 2-2. 打开命令提示符,切换到编译后的目录,执行以下命令安装服务: ShowjiSvc /Service 2-3. 打开服务管理,能找到一个名为ShowjiSvc 的服务,启动类型是Manual。可以启动服务、停止服务。2-4. 停止服务,然后用以下命令卸载服务: ShowjiSvc /UnRegServer 3. 修改服务的配置。 3-1. 修改服务名称: 在Resource View 中打开String Table,修改IDS_SERVICENAME 的Caption 为服务的名称:Showji Mobile Service。 3-2. 修改服务的描述: 打开ShowjiSvc.cpp 文件,在CShowjiSvcModule 的声明中增加以下函数声明: HRESULT RegisterAppId(bool bService); 再增加此函数的定义:

HRESULT CShowjiSvcModule::RegisterAppId(bool bService = false) throw() { HRESULT hr = S_OK; BOOL res = __super::RegisterAppId(bService); if (bService) { if (IsInstalled()) { SC_HANDLE hSCM = ::OpenSCManagerW(NULL, NULL, SERVICE_CHANGE_CONFIG); SC_HANDLE hService = NULL; if (hSCM == NULL) hr = AtlHresultFromLastError(); else { hService = ::OpenService(hSCM, m_szServiceName, SERVICE_CHANGE_CONFIG); if (hService != NULL) { ::ChangeServiceConfig(hService, SERVICE_NO_CHANGE, SERVICE_AUTO_START,// 修改服务为自动启动 NULL, NULL, NULL, NULL, NULL, NULL, NULL, m_szServiceName); // 通过修改资源IDS_SERVICENAME 修改服务的显示名字 SERVICE_DESCRIPTION Description; TCHAR szDescription[1024]; ZeroMemory(szDescription, 1024); ZeroMemory(&Description, sizeof(SERVICE_DESCRIPTION)); lstrcpy(szDescription, _T("https://www.doczj.com/doc/fb17084538.html,示例服务,by yangwei@https://www.doczj.com/doc/fb17084538.html,")); Description.lpDescription = szDescription;

相关主题
文本预览
相关文档 最新文档