duilib入门问题集


引入duilib时请确保引入头文件开始时先引入COMUTIL.H头文件


#include "COMUTIL.H"
#include "UIlib.h"


duilib基本程序结构


在stdafx.h文件中加入

<span style="font-size:18px;">#include "COMUTIL.H"
#include "UIlib.h"
using namespace DuiLib;</span>


<span style="font-size:18px;">#ifndef LoginView_h__
#define LoginView_h__


class LoginView :
    public WindowImplBase// 只能放在最后,否则其消息路由出问题
{


public:
    DUI_DECLARE_MESSAGE_MAP()
public:
    LoginView(void);
    ~LoginView(void);


    void on_btn_click( DuiLib::TNotifyUI &msg );


    virtual CDuiString GetSkinFolder() { return _T ("skin\\"); }
    virtual CDuiString GetSkinFile() { return _T("login.xml"); }
    virtual LPCTSTR GetWindowClassName( void ) const { return _T("LoginView"); }
};


#endif // LoginView_h__</span>


<span style="font-size:18px;">#include "StdAfx.h"
#include "LoginView.h"

DUI_BEGIN_MESSAGE_MAP(LoginView, WindowImplBase)
DUI_ON_MSGTYPE(DUI_MSGTYPE_CLICK,on_btn_click)
DUI_END_MESSAGE_MAP()


LoginView::LoginView(void)
{
}

LoginView::~LoginView(void)
{
}


void LoginView::on_btn_click( DuiLib::TNotifyUI &msg )
{

}</span>


<span style="font-size:18px;">// chatme.cpp : 定义应用程序的入口点。
//

#include "stdafx.h"
#include "chatme.h"

#include "LoginView.h"

int APIENTRY _tWinMain(HINSTANCE hInstance,
                       HINSTANCE hPrevInstance,
                       LPTSTR    lpCmdLine,
                       int       nCmdShow)
{
    CPaintManagerUI::SetInstance(hInstance);
    CPaintManagerUI::SetResourcePath(CPaintManagerUI::GetInstancePath());


    HRESULT Hr = ::CoInitialize(NULL);
    if( FAILED(Hr) ) return 0;

    LoginView login_view;
    login_view.Create(NULL, _T("LoginView"), UI_WNDSTYLE_DIALOG, WS_EX_STATICEDGE | WS_EX_APPWINDOW);

    login_view.CenterWindow();

    CPaintManagerUI::MessageLoop();
    ::CoUninitialize();
    return 0;
}</span>


问:如何把资源放入zip?
答: 先SetResourcePath设置资源目录,再SetResourceZip设置压缩资源文件名


问:如何设置窗体的初始化大小?
答:设置XML文件的Window标签的size属性。


问:如何设置鼠标可拖动窗体的范围大小?
答:设置XML文件的Window标签的caption属性。


问:如何设置窗体可以通过拖动边缘改变大小?
答:在窗体创建函数的第三个参数设置为UI_WNDSTYLE_FRAME才可响应拖动改变大小,和双击标题事件。


问:为何鼠标移动到边缘没有改变窗体大小的箭头出现,不能通过拖动改变窗体大小?
答:设置window标签的sizebox属性,例如sizebox="2,2,2,2"


问:窗体不可双击最大化如何实现?
答:在窗体创建函数的第三个参数设置为UI_WNDSTYLE_DIALOG。


问:应用程序exe图标如何设置?
答:使用窗体成员函数SetIcon,参数为资源icon的id。


问:初始化时,最大化窗体如何实现?
答:调用窗体的SendMessage给窗体发送最大化消息SC_MAXIMIZE,SendMessage(WM_SYSCOMMAND, SC_MAXIMIZE,0);


问:动态改变窗体的大小如何实现?
答:使用窗体函数ResizeClient,参数分别重设的宽和高。


问:如何设置窗体屏幕居中显示?

答:使用窗体的CenterWindow函数。


问:窗体透明度如何设置?
答:设置window标签属性bktrans="true" alpha="200"
  • 6
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值