游戏编程一级对话框不qt打开文件夹对话框,可以直接qt打开文件夹对话框二级对话框吗

一家天下网站导航
Copyright&& &&
本站文章大部份源自于网络,其余为本站原创;如果本站文章侵犯了您的权益,请加上方QQ与我们联系。天极传媒:天极网全国分站
您现在的位置: >>
VC++编程调用Windows关机对话框
电脑小技巧
资费:包月5元手机:
介绍:细处着手,巧处用功。高手和菜鸟之间的差别就是:高手什么都知道,菜鸟知道一些。电脑小技巧收集最新奇招高招,让你轻松踏上高手之路。   在下,无论是Win98还是WinXP在关机的时候,都会出现对话框,让用户选择是重新启动还是关机,或者注销用户等操作。那我们在自己的程序中可以调用这个对话框吗?答案是可以。  我们可以使用的1个没有公开的函数,来调用这个对话框,这个函数位于shell32.dll里,它不像别的函数那样容易使用,我们不可以直接使用它,必须先使用LoadLibrary函数来获得shell32.dll文件的句柄,然后使用GetProcAddress函数获得这个函数的地址的指针,最后再通过这个指针来调用这个函数   我们使用6.0来写这个程序。首先打开Visual C++6.0,使用 AppWizard新建1个基于对话框的工程,工程名为close,在对话框上加上1个button控件,标题为“关机对话框”,在MFC ClassWizard中添加使用单击这个控件时响应的函数,响应函数代码为:
//首先定义1个指向指针,指向这个函数typedef void JWINAPI RUNKJUINTK^HMODULE hShell32^RUN RunFileDlg^//使用 LoadLibrary函数获得shell32.dll的句柄hShell32 = LoadLibraryJ″shell32.dll″K^//使用GetProcAddress函数获得这个函数的地址,RunFileDlg = JRUNKGetProcAddressJhShell32 MAKEINTRESOURCEJ60KK^//最后使用指针调用这个函数,出现关机对话框RunFileDlgJNULLK^  好了,代码写好了,把程序编译以后,调试执行正常。  以上代码在下,使用Visual C++6.0编译成功。在Win98/2000/XP下运行正常。
(作者:张建责任编辑:方舟)
天极新媒体&最酷科技资讯扫码赢大奖
* 网友发言均非本站立场,本站不在评论栏推荐任何网店、经销商,谨防上当受骗!
笔记本手机数码家电利用BootStrap弹出二级对话框的简单实现方法
作者:Franson
字体:[ ] 类型:转载 时间:
弹出二级对话框,即在对话框的基础上再弹出一个对话框.这篇文章主要介绍了利用BootStrap弹出二级对话框的简单实现方法的相关资料,需要的朋友可以参考下
弹出二级对话框,即在对话框的基础上再弹出一个对话框。这对于CRM管理类系统来说应用场景很常见。看到网上有关于实现二级弹出框的方法,需要在一级对话框页面上添加不少css样式。其实,完全可以不用这么麻烦。
利用bootstrap实现二级对话框很简单,只需要在主页面上添加两个含有class="modal"的DIV标签。如下面代码:
&!DOCTYPE html&
&title&&/title&
&meta charset="utf-8"&
&meta name="decorator" content="window" /&
&style type="text/css"&
white-space:
text-align:
&div class="row"&
&!-- 代码映射编辑对话框(属于一级对话框) --&
&div class="modal" id="codeMapEditModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"&&/div&
&!-- Modal 新增[源系统]代码[类型](属于二级弹出对话框) --&
&div class="modal" id="modal_newDialog" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"&
&script type="text/javascript" src="codeMapList.js"&&/script&
这样就可以在id="codeMapEditModal"的对话框弹出之后,在该对话框对应的js脚本中调用如下方法即可弹出id="modal_newDialog"的对话框。
function newDataItem(param){
$('#modal_newDialog').modal({
keyboard: false,
backdrop:'static',
remote : Global.ctx + "/html/tuple/codeInfo.html"
不过需要注意的是,在对话框的关闭按钮上调用的方法如下:
一级对话框关闭按钮的方法为如下绿色标注所示:
&div class="modal-header"&
&button type="button" class="close" data-dismiss="modal" aria-hidden="true"&&&/button&
&h4 class="modal-title" id="codeMapEditHeader"&XXX&/h4&&/div&
二级对话框关闭按钮的方法为如下绿色标注所示:
&div class="modal-header"&
&button type="button" class="close" onclick="modal_close(this)" aria-hidden="true"&&&/button&
&h4 class="modal-title" id="myModalLabel"&二级对话框&/h4&&/div&
如果不这样做,在关闭二级对话框的时候将会关闭一级对话框。
以上所述是小编给大家介绍的利用BootStrap弹出二级对话框的简单实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具查看: 8696|回复: 13
MFC使用GDI+,在对话框中的设置
阅读权限60
铜牌会员, 积分 1391, 距离下一级还需 109 积分
本帖最后由 pmy1117 于
10:50 编辑
今天算是看了一天的GDI+,总体感觉,确实GDI+对于GDI来说做了许多扩展,很方便也很实用。但是,相比GDI来说,还是有些不足之处,比如,不能应用双缓冲技术(我也不明白是什么)。
对于GDI+的配置我就不细说了,网上多的是。在此我仅说一下对于在“对话框”中GDI+的基本使用。
在对话框应用类当中添加:
头文件以及命名空间:#include &gdiplus.h&
using namespace G复制代码然后在头文件中定义变量:ULONG_PTR m_gdiplusT复制代码在应用类InitInstance()中,CWinApp::InitInstance()之前(都说是在这个之前,我没试过),添加初始化代码:GdiplusStartupInput gdiplusStartupI
GdiplusStartup(&m_gdiplusToken, &gdiplusStartupInput, NULL);复制代码在应用类添加虚函数ExitInstance();在其中添加:GdiplusShutdown(m_gdiplusToken);复制代码如果还是有问题,可以添加链接:“项目”-&“属性”-&“配置属性”-&“链接器”-&“输入”-&“附加依赖性” gdiplus.lib& &确定。
由于对话框中没有函数OnDraw();所以我获取dc的方式为:CWnd* pW
pWnd=GetDlgItem(IDC_STATIC);
CDC*
pdc=pWnd-&GetDC();
Graphics my_Graph(pdc-&m_hDC);复制代码(也许还有更好的方法,还忘指点)接下来就是GDI+的图形设计了,仔细看看,应该都能会。
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限60
铜牌会员, 积分 1391, 距离下一级还需 109 积分
本帖最后由 pmy1117 于
13:23 编辑
单色画刷SolidBrush
SolidBrush(const Color& color );
网格画刷HatchBrush
HatchBrush( HatchStyle hatchStyle, const Color& foreColor, const Color& backColor);
foreColor和backColor用来指定阴影线颜色和填充的背景颜色,背景色可以不指定。hatchStyle用来指定阴影线的样式。
预定义样式:
HatchStyleHorizontal (水平线)
HatchStyleVertical(垂直线)
HatchStyleForwardDiagonal(上斜线)
HatchStyleBackwardDiagonal(下斜线)
HatchStyleCross(十字线)
HatchStyleDiagonalCross (交叉线)
HatchStyle30Percent(30%填充)
HatchStyleSolidDiamond (实心菱形)
直线渐变LinearGradientBrush
LinearGradientBrush( Point & point1, Point & point2,& &Color & color1, Color & color2);
LinearGradientBrush( Rect & rect, Color & color1, Color & color2, REAL angle, BOOL isAngleScalable );
LinearGradientBrush( Rect & rect, Color & color1, Color & color2, LinearGradientMode mode);
point1和point2分别用来指定矩形区域的左上角和右下角点坐标。
color1和color2分别用来指定 渐变起始和终止的颜色。
rect用来指定一个矩形区域的大小和位置,angle用来指定渐变的方向角度,正值为顺时针。
isAngleScalable是一个即将废除的参数。mode用来指定渐变的方法。
预定义样式:
LinearGradientModeHorizontal (水平方向)
LinearGradientModeVertical (垂直方向)
LinearGradientModeForwardDiagonal (从左下到右上的对角线方向)
LinearGradientModeBackwardDiagonal (从左上到右下的对角线方向)
路径渐变PathGradientBrush
PathGradientBrush( const GraphicsPath* path);
PathGradientBrush( const Point * points, INT count, WrapMode wrapMode);
path用来指定一个路径指针,points和count分别用来指定组成路径的一系列直线端点的数组及其大小, wrapMode是一个可选项,用来指定填充的包围模式。一个包围模式用来决定是否在区域内部、在区域外部以及所有区域都填充。默认时,其值为 WrapModeClamp,即在区域内部填充。
图像画刷TextureBrush
TextureBrush(Image*, WrapMode);
图形变换一般是对图形的几何信息经过几何变换后产生新的图形。常见二维图形的变换有平移、比例、对称、旋转、错切 等。图形几何变换最有效的手段是采用矩阵变换,GDI+就有这样的矩阵类Matrix,它为我们提供了许多变换的方法,如Invert(转置)、 Multiply(矩阵相乘)、Rotate(旋转)等。
需要说明的是,除了使用Matrix进行图形变换外,Graphics本身提供相应的变换方法,如RotateTransform(旋转变换)、ScaleTransform(比例变换)和TranslateTransform(平移变换)等。
基本绘图函数
绘图函数 功能描述
DrawArc 绘制一条圆弧曲线,范围由起止角大小决定,大小由矩形或长宽值指定
DrawBezier 绘制一条由一系列型值顶点决定的三次Bezier曲线
DrawBeziers 绘制一系列的三次Bezier曲线
DrawClosedCurve 绘制一条封闭的样条曲线
DrawCurve 绘制一条样条曲线
DrawEllipse 绘制一条椭圆轮廓线,大小由矩形或长宽值指定
DrawLine 绘制一条直线
DrawPath 绘制由GraphicsPath定义的路径轮廓线
DrawPie 绘制一条扇形(饼形)轮廓线
DrawPolygon 绘制一个多边形的轮廓线
DrawRectangle 绘制一个矩形
FillEllipse 填充一个椭圆区域
FillPath 填充一个由路径指定的区域
FillPie 填充一个扇形(饼形)区域
FillPolygon 填充一个多边形区域
FillRectangle 填充一个矩形区域
FillRectangles 用同一个画刷填充一系列矩形区域
FillRegion 填充一个区域(Region)的内部
在GDI+中,我们还可以通过SetTextRenderingHint来控制文本输出的质量。
文本的格式属性通常包括对齐方式、字符间隔以及文本调整等。GDI+提供StringFormat类来控制这些格式属性,通常我们调用以下几个函数来进行相关属性设置。
Status SetAlignment ( StringAlignment align );
Status SetLineAlignment ( StringAlignment align );
上面的两个函数是用来定义文本对齐方式的,align可以是StringAlignmentNear(左对齐或右对齐,取决于书写方向是从左到右还是从右到左)、StringAlignmentCenter(居中)或StringAlignmentFar(两端对齐)。
Status SetFormatFlags( INT flags );
该函数用来设置文本格式化标志,flags可以是
StringFormatFlagsDirectionRightToLeft (水平阅读方向是从右向左) 和
StringFormatFlagsDirectionVertical(垂直文本)等值。
GDI+的Image类封装了对BMP、GIF、JPEG、PNG、TIFF、WMF(Windows元文件)和 EMF(增强WMF)图像文件的调入、格式转换以及简单处理的功能。而Bitmap是从Image类继承的一个图像类,它封装了Windows位图操作的常用功能。例如,Bitmap::SetPixel和Bitmap::GetPixel分别用来对位图进行读写像素操作,从而可以为图像的柔化和锐化处理提供一种可能。
Metafile类别通过提供记录和检验矢量图像的其它方法,增强Image类别的功能。
DrawImage是GDI+的Graphics类显示图像的核心方法,它的重载函数有许多个。常用的一般重载函数有:
Status DrawImage( Image* image, INT x, INT y);
Status DrawImage( Image* image, const Rect& rect);
Status DrawImage( Image* image, const Point* destPoints, INT count);
Status DrawImage( Image* image, INT x, INT y, INT srcx, INT srcy,
INT srcwidth, INT srcheight, Unit srcUnit);
其中,(x,y)用来指定图像image显示的位置,这个位置和image图像的左上角点相对应。rect用来指定被图像填充的矩形区域, destPoints和count分别用来指定一个多边形的顶点和顶点个数。若count为3时,则表示该多边形是一个平行四边形,另一个顶点由系统自动给出。此时,destPoints中的数据依次对应于源图像的左上角、右上角和左下角的顶点坐标。srcx、srcy、srcwidth 和srcheight用来指定要显示的源图像的位置和大小,srcUnit用来指定所使用的单位,默认时使用PageUnitPixel,即用像素作为度量单位。
需要注意的是,在不指定范围的情况下,DrawImage会拉伸图像铺满整个设备。
Image还提供GetThumbnailImage的方法用来获得一个缩略图的指针,调用DrawImage后可将该缩略图显示,这在图像预览时极其有用。
Status DrawImage( Image* image, const Point* destPoints, INT count);
里面的destPoints和count用来指定一个数组和数组的大小。这个重载可以用来旋转图像。destPoints中的第一个点是用来定义坐标原点的,第二点用来定义X轴的方法和图像X方向的大小,第三个是用来定义Y轴的方法和图像Y方向的大小。若destPoints定义的新坐标系中两轴方向不垂直,就能达到图像拉伸的效果。当然,对于图像旋转还可直接使用Graphics::RotateTransform来进行,例如下面的代码。但这样设置后,以后所有的绘图结果均会旋转,有时可能感觉不方便。
当图像进行缩放时,需要对图像像素进行插补,不同的插补算法其效果是不一样的。Graphics:: SetInterpolationMode可以让我们根据自己的需要使用不同质量效果的插补算法。当然,质量越高,其渲染时间越长。
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限70
银牌会员, 积分 2214, 距离下一级还需 786 积分
以前没用的时候不觉得,用过之后终于知道GDI+的强大跟GDI不是同一个等级的
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限80
金牌会员, 积分 3434, 距离下一级还需 1566 积分
还没用过。。。顶一个
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限60
铜牌会员, 积分 1391, 距离下一级还需 109 积分
本帖最后由 pmy1117 于
13:20 编辑
GDI+ 字体基本使用
程序代码:FontFamily fontFamily(_T(&幼圆&)); // 定义&幼圆&字样
Font font(&fontFamily, 12, FontStyleRegular, UnitPoint);
复制代码
//字体风格:
FontStyleRegular//正常
FontStyleBold& &//加粗
FontStyleItalic& &//斜体
FontStyleBoldItalic& &//粗斜体
FontStyleUnderline& &//下划线
FontStyleStrikeout& &//删除线
//字体尺寸:
UnitDisplay&&//1/75英寸
UnitPixel&&//像素
UnitPoint& &//点
UnitInch& &//英寸
UnitDocument& &//1/300英寸
UnitMillimeter& &//毫米
//字体的输出
Graphics my_Grap( pDC-&m_hDC );
SolidBrush textbrush(Color(255,255,225));
PointF point(10.0f,10.0f);
my_Grap.DrawString(_T(&R&),(INT)wcslen(_T(&R&)),&font,point,&textbrush);
复制代码画刷可以使用SolidBrush和HatchBrush,也可以是TextureBrush(纹理画刷),甚至是渐变画刷。
网上的代码经常是这样写,可是当我在运行时Font会报错:“Font”不明确的标识符。所以我写成了Gdiplus::Font font(&fontFamily,12,FontStyleRegular,UnitPoint);复制代码编译通过!
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限30
普通会员, 积分 256, 距离下一级还需 44 积分
可以用双缓冲。。
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限30
普通会员, 积分 256, 距离下一级还需 44 积分
楼主这么费劲还不如把 GDI+使用参考 发上来
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
新手上路, 积分 18, 距离下一级还需 32 积分
想加载 gif的图片 也个头文件的问题 搞的我头大 ,老报错 很纠结
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限70
银牌会员, 积分 2289, 距离下一级还需 711 积分
楼主,支持额
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限20
注册会员, 积分 70, 距离下一级还需 80 积分
GDI+ 可以实现双缓冲, 方法也很多.
和GDI的双缓冲原理类似.
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限40
中级会员, 积分 348, 距离下一级还需 152 积分
GUI界面和wpf界面,如果在运行效率上还是GUI好,wpf运行起来很重,不过还是wpf好些.
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限30
普通会员, 积分 254, 距离下一级还需 46 积分
GDI+是托管库吧 不是本地代码吧
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限70
银牌会员, 积分 2274, 距离下一级还需 726 积分
WGF双缓冲框架...还是不错的说
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限20
注册会员, 积分 148, 距离下一级还需 2 积分
可以用双缓冲。。
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
站长提醒 /1
为了能给广大编程爱好者提供一个更好的学习交流平台,从即日起面向广大网友特举办《发原创得奖励》活动。Vip教程,驿站U盘,无线鼠标 免费送,礼品丰厚,赶快来参加吧!
VC驿站微信公众号cctry2009
Powered by Discuz! X3.3}

我要回帖

更多关于 qt 打开文件对话框 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信