MFC里如何初始化ToolBar的大小和位置

作者&投稿:屈省 (若有异议请与网页底部的电邮联系)
CMFCTOOLbarButton如何调整大小?~

查MSDN,最好是在线版的MSDN。

可以在资源编辑器里面,通过编辑工具栏图片的大小进行改变。

如果是要动态改变大小,看看有没有对应的成员函数,或者按钮的大小是在对应的构造函数中设置大小的。

不知道楼主你是想给按钮加图还是给ToolBar加背景图?
1,按钮加图:HBITMAP hBmp1=::LoadBitmap(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_SEARCH)); //hBmp1是自定义的画刷变量,IDB_SEARCH是加载的bitmap的ID
m_ssgoods.SetBitmap(hBmp1);//m_ssgoods是继承CButton的用户自定义变量
同时注意将属性里面的bitmap改为true;
2,背景加图
CPaintDC dc(this);
CRect rect;
GetClientRect(&rect);
CDC dcMem;
dcMem.CreateCompatibleDC(&dc);
CBitmap bmpBackground;
bmpBackground.LoadBitmap(IDB_SALEBG);
//IDB_BITMAP是你自己的图对应的ID
BITMAP bitmap;
bmpBackground.GetBitmap(&bitmap);
CBitmap *pbmpOld=dcMem.SelectObject(&bmpBackground);
dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,rect.Width(),rect.Height(),SRCCOPY);
这两者都在OnPaint函数里实现

  • 第一步:在CMainFrame类里添加保护成员  CToolBar m_wndDrawToolBar;

    第二步:ToolBar的ID号为:IDR_TOOLBAR,在int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)里添加代码:
    if (!m_wndDrawToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
    | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
    !m_wndDrawToolBar.LoadToolBar(IDR_TOOLBAR))
    {
    TRACE0("Failed to create Draw toolbar
    ");
    return -1;      // fail to create
    }
    m_wndDrawToolBar.EnableDocking(CBRS_ALIGN_ANY);
    DockControlBar(&m_wndDrawToolBar);
    DockControlBarLeftOf(&m_wndDrawToolBar, &m_wndToolBar);//第三步里的成员函数

    第三步:在CMainFrame里添加公有成员函数:void DockControlBarLeftOf(CToolBar* leftBar, CToolBar* rightBar);
    函数具体代码为:
    void CMainFrame::DockControlBarLeftOf(CToolBar *leftBar, CToolBar *rightBar)
    {
    // 设置工具条并列停靠在同一条边上 
    CRect rect; // 矩形区域定义 
    DWORD dw; 
    UINT n = 0; 

    RecalcLayout(); //重新显示 
    rightBar->GetWindowRect(&rect);
    rect.OffsetRect(1, 0);

    dw=rightBar->GetBarStyle(); 
    n=(dw&CBRS_ALIGN_TOP) ? AFX_IDW_DOCKBAR_TOP : n; 
    n=(dw&CBRS_ALIGN_BOTTOM && n==0) ? AFX_IDW_DOCKBAR_BOTTOM : n;
    n=(dw&CBRS_ALIGN_LEFT && n==0) ? AFX_IDW_DOCKBAR_LEFT : n;
    n=(dw&CBRS_ALIGN_RIGHT && n==0) ? AFX_IDW_DOCKBAR_RIGHT : n;
    DockControlBar(leftBar, n, &rect);
    }




常用的电脑操作小技巧
用ghost explorer打开空gho文件,并在ghost explorer的窗口里点右键粘贴或是直接把文件拖进窗口就行了(ghost explorer的压缩速度比winrar还要快,而添加、删除等都能方便实现,用起来就象资源管理器一样)。 12、win2000\/XP在遇到系统严重问题无法启动 能利用故防恢复控制台,把c:windowsrepair文件夹中保存的初始化注册表...

[生信基础知识]几种常用的差异表达基因识别方法FC,T检验,SAM
在生信领域,有几种常用的差异表达基因识别方法,包括FC、t检验和SAM。首先,FC(Fold Change)算法通过计算基因在两类样本间的表达水平倍数,当超过预设阈值(如2倍)时,判定为DE基因。尽管简单直观,但FC方法存在统计控制不足、阈值主观等问题,可能易产生假阴性和假阳性的结果,且倾向于识别基础表达量...

如何用matlab编程使用ts算法实现tsd问题
它的第一行是这样的:function[sys,x0,str,ts]=sfuntmpl(t,x,u,flag)先讲输入与输出变量的含义:t是采样时间,x是状态变量,u是输入(是做成simulink模块的输入),flag是仿真过程中的状态标志(以它来判断当前是初始化还是运行等);sys输出根据flag的不同而不同(下面将结合flag来讲sys的含义)...

【fc:t】音标f没有横,c是倒过来的
真佩服你的描述,这个单词是short,adj.短的;矮的;短期的;短缺的;简略的;粗暴无礼的;[语]短音的 adv.缺少;未达到;半中间(打断);过早地(终止)n.<英口>烈酒;电影短片;[电]短路v.(使)短路

关于FC(红白机或8位)的射击类游戏的疑惑?
在小时候,我有一台带枪的FC,在附送的卡带里面有一款游戏是射击罐头瓶子,就是我拿着枪,对着电视机的屏幕射击。请问这样的游戏它的原理是什么啊?难道里面有什么传感器吗~~?它是如何判断我的枪有没有瞄准目标啊?~~奇怪解析: 呵呵,我当年也是Fc游戏狂人,记得第一次打通超级玛丽的时候极爽。。

哈夫曼编码
fgets(str,51,fc); puts(str); } fclose(fc); \/\/关闭文件}void Initialization() \/\/系统初始化{ printf("***\\n"); printf("*编码文件请输入e\\n*译码文件请输入d\\n*打印编码后的文件请输入p\\n*打印哈夫曼树请输入t\\n*结束请输入q \\n"); printf("***\\n"); printf("\\n\\n\\t\\t字符:\\n\\n...

机甲战士FC 装备一览表
1.战车装备 最强主炮 220炮 攻800 重10t 在见诺亚之前的房间和烧毁的大楼出来南2东5的位置找到,据说有第3枚 205加农炮 攻780 重3.1t 地狱门左边的小村子有售 最强副炮 风暴 攻400 重3t 不能获得,出租车专有 火龙 攻355 重3.5t 卡拉,塔镇有售 波坦 攻340 重0.1t!! 战利品,打败白色...

1500plc块FC501中的PTR为空是什么意思?
1500 pI路西一块这个型号中的ptr是回空的,这个是有一定意义的。

FC的洛克人金手指怎么用?
FC的洛克人的金手指,直接在输入金手指那里输入就行了,输入代码如下:洛克人1:00A6-01-63 生命 006A-01-1C HP 005D-01-FF 所有人物 006B-01-1C [C]006C-01-1C [I]006D-01-1C [B]006E-01-1C [F]006F-01-1C [E]0070-01-1C [G]0071-01-1C [M]洛克人2:00A8-01-63...

工程力学中Fc是什么力
fc,表示混凝土轴心抗压强度fct,表示混凝土抗拉强度是指混凝土轴心抗拉强度。混凝土轴心抗压强度例子:混凝土轴心抗压强度(fc)是采用150mm×150mm×300mm棱柱体作为标准试件所测得的抗压强度。混凝土抗拉强度例子:用立方体或圆柱体试件进行,在试件上下支承面与压力机压板之间加一条垫条,使试件上下形成...

建瓯市13378666355: MFC里如何初始化ToolBar的大小和位置 -
容群脂可: 第一步:在CMainFrame类里添加保护成员 CToolBar m_wndDrawToolBar; 第二步:ToolBar的ID号为:IDR_TOOLBAR,在int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)里添加代码:if (!m_wndDrawToolBar.CreateEx(this, ...

建瓯市13378666355: MFC单文档应用程序
容群脂可: 对于基于对话框的应用程序,MFC AppWizard还没有对工具条的支持,但可以通过使用CToolBar类来构造生成工具条,我们下面介绍如何为对话框程序添加工具条. 用MFC AppWizard(EXE)生成一个基于对话框的应用程序,接受其默认设置,...

建瓯市13378666355: MFC下最简单的toolbar -
容群脂可: 你用app wizzard生成一个mfc app,选择文档视结构支持,默认就有带toolbar的code,在mainframe的cpp文件中,你可以比较一下就知道你的code为什么assert failed了

建瓯市13378666355: mfc中如何初始化自定义的类的对象 -
容群脂可: 这个问题怎么看着有点绕口 你自定义了一个类 class ClassA;那么ClassA a;这样的话,这个类的实例对象a就已经被实例化了,他的初始化在他的构造函数中完成 如果是ClassA * a;的话只是分配了一个指针地址而已,必须到a = new ClassA()的时候完成初始化,他的初始化也是在构造函数中完成

建瓯市13378666355: MFC利用按钮清楚之前的操作,进行初始化 -
容群脂可: 在按钮的响应函数中添加代码:对之前的变量、对象、指针等进行初始化.

建瓯市13378666355: MFCToolbar图标 -
容群脂可: 必须加了消息映射才会不陷. 加完了消息映射后,常在UPDATE_COMMAND_UI消息的映射函数里SetCheck(bool)与Enable()(这个就对应你的陷没陷下去 另 CButton::SetCheck(int) 图标陷不陷下去,与图标的样式没有关系,是系统自动起...

建瓯市13378666355: mfc中如何使用栈,栈怎么初始化??谢谢 -
容群脂可: 加上头文件,利用STL库、#include <stack> 然后初始化 Stack<int>s(100);//栈里面的的类型为int,容量为100 就OKle

建瓯市13378666355: MFC combobox 初始化添加数据 -
容群脂可: 那就用代码来加( (CComboBox *)GetDlgItem(IDC_COMBO1) ) -> AddString(_T("选项1")); 建议你选打开记事本 输入要选项 一行一个 复制 然后到这个data里双击 粘贴

建瓯市13378666355: VC++MFC 怎么设置初始化窗体的位置? -
容群脂可: 1、简单的说可以在OnInitDialog()函数里加上一句: RECT rect; GetClientRect(&rect); MoveWindow(1024-rect.right,0,rect.right,rect.bottom); 以上MoveWindow中的前两个参数就是窗体显示时的左上角坐标, 假设你的屏幕分辨率为1024*768...

建瓯市13378666355: MFC中子窗体中的控件在哪进行初始化呢?主窗体中OnInitDialog()里面好像不行
容群脂可: 在子窗体的 OnInitDialog() 函数里面进行初始化. 窗体的初始化设置,一般都是在本窗体自己的 OnInitDialog() 函数里面进行的,这相当于一个类的构造函数一样,在窗体产生之前就调用它了.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网