1、在控制面板之中找出打印机的图标,
2、双击打印机图标,就会d出一个对话框,
3、在d出的对话框之中,选择打印机选项,点击属性。
4、点击首选项。
5、在纸张/输出选项之中,在纸张一栏之中设置纸张尺寸为A3.然后,点击确定即可。
6、到此打印机的设置完成,但是还是打印不出A3.还需要设置word的纸张。打开word文档。
7、设置纸张为A3,
8、到此,放进A3的纸张,就可以打印了。
在Windows *** 作系统中 任务栏的右边(托盘)会常驻几个图标 如输入法切换图标 音量控制图标等 此外我们还经常遇到具有托盘图标的软件 如金山词霸 实时监测功能的杀毒软件等 这些软件在后台运行 通常不占用太多的屏幕资源 只在通知栏上放一个小小的标志 必要时我们可以通过用鼠标点击图标对其进行选单 *** 作或激活其主窗口 有时我们自己编写的程序也希望有类似的效果 本文将详细地介绍用VC设计托盘图标程序的方法 一 NOTIFYICONDATA结构 NOTIFYICONDATA结构包含了系统用来处理托盘图标的信息 它包括选择的图标 回调消息 提示消息和图标对应的窗口等内容 其定义为 typedef struct—NOTIFYICONDATA { DWORD cbSize//以字节为单位的这个结构的大小 HWND hWnd//接收托盘图标通知消息的窗口句柄 UINT uID//应用程序定义的该图标的ID号 UINT uFlags//设置该图标的属性 UINT uCallbackMessage//应用程序定义的消息ID号 此消息传递给hWnd HICON hIcon//图标的句柄 char szTip[ ]//鼠标停留在图标上显示的提示信息 } NOTIFYICONDATA ?PNOTIFYICONDATA该结构中 成员uFlags可以是下列的组合或其中之一 NIF_ICON 设置成员hIcon有效 NIF_MESSAGE 设置成员uCallbackMessage有效 NIF_TIP 设置成员szTip有效 二 Shell_NotifyIcon函数 全局函数Shell_NotifyIcon()用于在托盘上增加 删除或修改图标 其原型为 WINSHELLAPI BOOL WINAPI Shell_NotifyIcon( DWORD dwMessage PNOTIFYICONDATA pnid)Pnid是上面的NOTIFYICONDATA结构的指针 dwMessage是被传递的消息 可以是以下消息之一 NIM_ADD 增加图标 NIM_DELETE 删除图标 NIM_MODIFY 修改图标 三 托盘图标程序设计示例 首先我们用AppWizard创建一个不基于文档和视图结构的应用程序Tray 我们并不想在应用程序启动时显示主窗口 所以需要删除应用程序类CTrayApp中成员函数InitInstance()的以下两句代码 pFrame 〉ActivateFrame()pFrame 〉ShowWindow(SW_SHOW)在CMainFrame类中加入NOTIFYICONDATA结构的保护成员变量m_tnid 并在其OnCreate函数中return语句前加入生成托盘图标的代码 m_tnid cbSize=sizeof(NOTIFYICONDATA)m_tnid hWnd=this 〉m_hWndm_tnid uFlags=NIF_MESSAGE|NIF_ICON|NIF_TIPm_tnid uCallbackMessage=MYWM_NOTIFYICON
//用户定义的回调消息 CString szToolTipszToolTip=_T( 托盘图标实例 )_tcscpy(m_tnid szTip szToolTip)m_tnid uID=IDR_MAINFRAMEHICON hIconhIcon=AfxGetApp() 〉LoadIcon(IDR_MAINFRAME)m_tnid hIcon=hIcon::Shell_NotifyIcon(NIM_ADD &&m_tnid)if(hIcon)::DestroyIcon(hIcon)返回消息的ID应在主框架类的头函数中定义 #define MYWM_NOTIFYICON WM_USER+ 为了处理图标返回消息 如鼠标左键双击 鼠标右键单击消息 我们重载WindowProc()函数 此外 我们还希望在主框架窗口最小化时图标不在任务栏的空白区出现 在此函数中同时作相应处理 LRESULT CMainFrame::WindowProc(UINT message WPARAM wParam LPARAM lParam) { switch(message){ case MYWM_NOTIFYICON: //如果是用户定义的消息 if(lParam==WM_LBUTTONDBLCLK){ //鼠标双击时主窗口出现 AfxGetApp() 〉m_pMainWnd 〉ShowWindow(SW_SHOW)} else if(lParam==WM_RBUTTONDOWN){ //鼠标右键单击d出选单 CMenu menumenu LoadMenu(IDR_RIGHT_MENU)//载入事先定义的选单 CMenu?pMenu=menu GetSubMenu( )CPoint posGetCursorPos(&&pos)pMenu 〉TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON pos x pos y AfxGetMainWnd())} breakcase WM_SYSMAND: //如果是系统消息 if(wParam= =SC_MINIMIZE){ //接收到最小化消息时主窗口隐藏 AfxGetApp() 〉m_pMainWnd 〉ShowWindow(SW_HIDE)return } break} return CFrameWnd::WindowProc(message wParam lParam)} 为使应用程序退出时图标消失 映射WM_DESTROY消息 在OnDestroy()函数中加入 ::Shell_NotifyIcon(NIM_DELETE &&m_tnid)至此 托盘图标程序的常规功能我们均已实现 我们还可以通过Shell_NotifyIcon()函数的调用实现不同状态下图标的改变 本程序在VC++ Windows / Professional下调试通过 lishixinzhi/Article/program/net/201311/11634用的控件是:TrayIcon
具体用法如下:
在
Borland
C++
Builder
5.0
中编写Tray程序是件很简单的事。在安装
Borland
C++
Builder
5.0
时选择Full(完全)安装,安装完成后,在Samples组件页中有一个TrayIcon组件,它封装编写Tary所需的Window
API函数,使用该组件编写Tary程序不用加一句程序代码,真是易如反掌。
首先,我们先看一下TrayIcon组件常用的属性:
属性说明
Animate设为true时,顺序更改Icons属性设置的图标
AnimateInterva设置更改图标的时间(单位:毫秒)
Hide设为true时,最小化时隐藏在任务栏上的标题栏
Hint设置鼠标移动到Tary图标上出现的提示信息
IconIndex设置图标索引值
Icons设置图标源(通常设置一个ImageList组件)
PopupMenu设置要d出的菜单(通常设置一个PopupMenu组件)
PopupMenuOn设置触发d出菜单的鼠标 *** 作
RestoreOn设置恢复最小化到正常状态的鼠标 *** 作
Visible设为true时,在任务栏最右边显示图标
鼠标 *** 作说明:
值说明
imClick鼠标单击
imDoubleClick鼠标双击
imLeftClickUp单击鼠标左键,放开
imLeftDoubleClick双击鼠标左键
imMouseDown按下鼠标键
imMouseUp按下鼠标键,放开
imNone不设置鼠标 *** 作
imRightClickUp单击鼠标右键,放开
imRightDoubleClick双击鼠标右键
下面让我们来编一个简单的Tary程序:
1、新建工程,添加一个TrayIcon组件、一个PopupMenu组件和一个ImageList组件。它们的Name属性
都用默认的名字:TrayIcon1、PopupMenu1、ImageList1。
2、设置TrayIcon1的属性,如下:
属性值
linux
Animate
true
AnimateInterva
1000
Hide
true
Hint
Tary演示程序
IconIndex
0
Icons
ImageList1
Name
TrayIcon1
PopupMenu
PopupMenu1
PopupMenuOn
imRightClickUp
RestoreOn
imDoubleClick
Visible
true
3、双击PopupMenu1,d出菜单设计器,随意地加入几个菜单项。
4、双击ImageList1,加入支持的图片(*.ico、*.bmp)。
到此,不用编写一句程序代码,一个简单的Tary程序就做好了。按F9编译运行,将鼠标移动到Tary上面就会出现“Tary演示程序”的提示信息;在Tary上单击鼠标右键d出菜单Popmenu1;按下程序窗口的最小化按钮,程序最小化后隐藏任务栏上的标题栏;双击Tary将会恢复程序最小化;而且,Tary图标以1000毫秒(1秒)的速度变换。够简单了吧?!
TaryIcon组件的演示源程序在
Borland
C++
Builder
5.0
安装目录下的\CBuilder5\Examples\Apps\TrayIcon。若你不想使用TaryIcon组件编写Tary,只想使用API函数,可以参考安装目录\CBuilder5\Examples\Controls\Traydemo下的源程序
注意以下几点:
1、这个控件的托盘图标要使用到TimageList控件,请设置其Icons属性和对应的TimageList关联就可以
了,如果图标要变化,TimageList中要有多个图标,用TrayIcon控件的IconIndex的值的改变来改变托
盘图标。
2、最小化和隐窗体应该用:
TrayIconMe->Minimize()来实现
还原窗体用:TrayIconMe->Restore()。
3、至于菜单的d出就在窗体上加一个PopupMenu控件就可以了,PopupMenu的设定和一般的设定没有什
么不同。然后把TrayIcon控件的PopupMenu属性和PopupMenu控件关联起来就可以了。当然,别忘了
设定一个PopupMenuOn属性,决定这个菜单的鼠标触发方式。
4、当鼠标指向托盘时,显出的字是TrayIcon的Hint属性来设定的
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)