精华内容
下载资源
问答
  • 在win7中用vc++6.0写的mfc程序,一运行的主对话框字体是正常的,点击按钮弹出对话框之后字体就变成又粗又了。写了很多个mfc程序都是这样,不知道怎么回事,怎么解决,求大神指点。![CSDN移动问答][1] [1]: ...
  • OPhone 2.0之百变对话框(2)

    千次阅读 2011-06-17 14:14:00
    改变对话框文字的颜色、大小 默认的对话框中的文字颜色都是黑色或白色的。虽然可以在View上放置自己的组件来显示不同颜色的文字。但对于只显示简单文字的对话框来说就不需要这么麻烦了。我们可以采用另一种比较简单...
    改变对话框文字的颜色、大小
     
    默认的对话框中的文字颜色都是黑色或白色 的。虽然可以在View上放置自己的组件来显示不同颜色的文字。但对于只显示简单文字的对话框来说就不需要这么麻烦了。我们可以采用另一种比较简单的方法 来改变对话框中(包括按钮)文字的颜色。这就是文本标记。文本标记有些类似于HTML语言,但要简单得多。而且也不支持HTML的所有特性。但用于显示颜 色,或改变文字的大小、加粗或变成斜体还是绰绰有余的。
    下面的代码将对话框的文本以及按钮的文本变成了不同的颜色,而且将相应的文字变大或变成了斜体。
    1. public   void  onClick_ColorDialog(View v)   
    2. {   
    3.     AlertDialog alertDialog =  new  AlertDialog.Builder( this )   
    4.             .setMessage(   
    5.                     Html   
    6.                             .fromHtml( "改变对话框的<font color='#FF0000'><big>颜色</big></font>" ))   
    7.             .setPositiveButton(   
    8.                     Html   
    9.                             .fromHtml( "<font color='#0000FF'><big><i>确定</i></big></font>" ),   
    10.                      null ).setNegativeButton( "取消" null ).create();   
    11.     alertDialog.show();   
    12. }  
       
      

    从上面的代码可以看出。在使用文本标记之前, 需要先使用Html.fromHtml方法将文本标签转成Spanned对象。而<font>、<big>和<i> 都是文本标记。其中<font>可以设置字体的颜色、<big>可以将文本设成较大的形式。<i>可以将文字设成斜 体。运行程序后,会显示如图5所示的效果。

    图5 对话框文字的颜色、大小
     
     
    在对话框上添加图像
    虽然对话框可以使用setIcon方法将 一个图像添加到标题上。但那只是在标题上显示一个图像。如果我们要显示多个图像,或在对话框信息中要显示图文混排。那就还需要前面讲的文本标记。要想显示 图像,需要使用<img>标记。不过使用这个标记显示图像会比使用其他标记复制一些。首先需要使用<img>标记的src属性指 定图像源。这个图像源可以是任意的。因为系统并不管图像是如何获得的,我们只要为系统提供一个Drawable对象即可。然后我们就需要实现一个 ImageGetter接口。通过这个接口的getDrawable方法可以获得系统所需的Drawable对象。实现代码如下:
    1. public   void  onClick_ImageDialog(View v)   
    2. {   
    3.     // 实现了ImageGetter接口   
    4.     ImageGetter imageGetter =  new  ImageGetter()   
    5.     {   
    6.     
    7.          @Override   
    8.          public  Drawable getDrawable(String source)   
    9.         {   
    10.             int  id = Integer.parseInt(source);   
    11.             Drawable d = getResources().getDrawable(id);   
    12.             d   
    13.                     .setBounds( 0 0 , d.getIntrinsicWidth(), d   
    14.                             .getIntrinsicHeight());   
    15.              return  d;   
    16.         }   
    17.     };   
    18.     
    19.     AlertDialog alertDialog =  new  AlertDialog.Builder( this ).setMessage(   
    20.             Html.fromHtml( "显示图像<img src='"  + R.drawable.face +  "'/> ,哈哈." ,   
    21.                     imageGetter,  null )).setPositiveButton(   
    22.             Html.fromHtml(   
    23.                      "<font color='#0000FF'><big><i>确定</i></big></font><img src='"   
    24.                             + R.drawable.home +  "'/>" , imageGetter,  null ),   
    25.              null ).setNegativeButton( "取消" null ).create();   
    26.     alertDialog.show();   
    27. }  
       
      
    在上面的代码中,图像源直接使用了drawable资源。因此,需要通过src属性指定相应的图像资源ID。而在getDrawable方法中将source(也就是src属性)转换成id值,并装载图像,最后返回Drawable对象。显示效果如图6所示。
     
    图6 在对话框上显示图像
     
     
    举一反三:支持图文混排的EditText组件
    如果读者使用过QQ for Android,那么一定不会对这个软件陌生。在我们输入聊天信息时,如果想输入表情,可以直接在聊天信息中收到表情图像,而不是用字符串来代替表情,如象新浪微博的[哈哈]、[心]等。
    要实现这个功能也并不复杂,只需要利用前面所介绍的知识即可。现在让我们先来准备6个图像文件。然后将这些文件随机加到EditText组件中。代码如下:
    1. public   void  onClick_RandomInsertFace(View v)   
    2. {   
    3.      int [] faces =  new   int []   
    4.     { R.drawable.face1, R.drawable.face2, R.drawable.face3,   
    5.             R.drawable.face4, R.drawable.face5, R.drawable.face6 };   
    6.     ImageGetter imageGetter =  new  ImageGetter()   
    7.     {   
    8.     
    9.          @Override   
    10.          public  Drawable getDrawable(String source)   
    11.         {   
    12.              int  id = Integer.parseInt(source);   
    13.             Drawable d = getResources().getDrawable(id);   
    14.             d   
    15.                     .setBounds( 0 0 , d.getIntrinsicWidth(), d   
    16.                             .getIntrinsicHeight());   
    17.              return  d;   
    18.         }   
    19.     };   
    20.     editText.append(Html.fromHtml( "<img src='"   
    21.             + faces[ new  Random().nextInt( 6 )] +  "'/>" , imageGetter,  null ));   
    22.     
    23. }   
    24.    
       
      
    在上面的代码中使用了文本标记<img>,通过这个标记向EditText中加入图像。多次加入图像和文本后,效果如图7所示。
     
    图7 在EditText中插入图像
     
    注意:所有TextView的子类都可以利用上述的功能象插入字符一样插入图像。由于EditText是TextView的子类,因此,图像在EditText中可以象普通字符一样编辑。
     
    阻止单击按钮关闭对话框
    使用AlertDialog创建的对话框最多可以加三个按钮。而且单击每一个按钮后,不管执行什么动作,对话框都会关闭。如果我们想干预这种操作。就需要使用特殊的方法。
    实际上,AlertDialog并未提供给我们正常的方法来阻止单击按钮关闭对话框。但如果需要,可以通过反射技术进行控制(不到万不得以不建议使用这种方法,但本方法会向读者展示如何通过反射技术来欺骗系统以达到我们的目的,读者也可将这种技术用在其它方法)。
    AlertDialog类的父类 Dialog中定义了一个mShowing变量(private变量)。当然,通过正常的方法是无法访问这个变量的。这个变量的作用是当对话框成功显示 后,该变量的值为true,当对话框关闭后,该变量的值为false。如果mShowing的值为false,复杂关闭对话框的dismiss方法将不再 起作用。因此,可以在对话框的按钮单击事件中暂时将这个变量的值设为false。当要关闭对话框时,可以再将该变量的值设为true。OK,先看看下面的 代码。
    1. try   
    2. {   
    3.     Field field = dialog.getClass()   
    4.             .getSuperclass().getDeclaredField(   
    5.                      "mShowing" );   
    6.     field.setAccessible( true );   
    7.      // 将mShowing变量设为false,以便欺骗系统对话框已关闭   
    8.     field.set(dialog,  false );   
    9.     dialog.dismiss();   
    10.     
    11. }   
    12. catch  (Exception e)   
    13. {   
    14. }  
       
      
    如果将上面的代码写在对话框按钮的单击事 件中,那么系统会以为对话框已经关闭,则永远不会关闭对话框了。如果我们想关闭对话框,需要使用field.set(dialog.true)将 mShowing变量的值设为true。虽然这种方法只是一个小技巧,也有点玩赖的感觉,但在某些特殊情况下的确能解决燃眉之急。
     
    总结
    本文介绍了如何在OPhone 2.0中通过各种技术来使对话框呈现不同的效果。这些技术有的非常重要,还有的比较另类,甚至有些玩赖。不过这都不重要。重要的是我们可以通过这些技术达 到我们的目的。正所谓英雄不问出处。技术没有好坏,只要达到我们的目的,就是我们需要的技术。
    http://edu.gamfe.com/tutor/d/21955.html
    展开全文
  • package chess; import java.awt.Graphics; import java.awt.Graphics2D; ...import java.awt.Toolkit;...启动对话框,整个界面白色。 2,最小化->对话框消失。 3,再次打开->对话框出现,整个界面黑色。
  • 点击那个×无法关闭对话框 解决方法:segmentfault ...只显示了化的背景,没有显示对话框 参考自:element-ui中对话框dialog不显示,仅背景灰 为el-dialog加一个属性:append-to-body="true" ...
    
    
    
    展开全文
  •  ...但是,引入的功能包不对对话框进行界面美化,除了多一些控件外,外观没。于是就想能不能利用单文档的CFormView来模拟对话框,进行自己来实现对话框的美化呢,下面以单文档为例: 1.单文
    

    我们知道VS2008SP1之后,MFC就多了一个功能包,可以快速的建立一个ribbon的界面,视觉样式可以在office 2007蓝、黑等颜色之间切换,这对于单文档/多文档做界面非常方便,而且也蛮好看的。但是,引入的功能包不对对话框进行界面美化,除了多一些控件外,外观没变。于是就想能不能利用单文档的CFormView来模拟对话框,进行自己来实现对话框的美化呢,下面以单文档为例:
    1.单文档 ,“项目类型”选择Visual Studio  视觉样式和颜色 选择office2007 (蓝色主题);
    2.用户界面功能,选中“使用菜单栏和工具栏”;
    3.高级功能里面,所有的“高级框架窗格”都不要选择;
    4.生成的类里面,选择视图基类为CFormView,运行程序就会出现如图所示:

    是不是觉得很不和谐,外框那么好看,里面内置的Form体却那样子,但是我们可以对里面的Form进行换颜色的,具体参考:http://blog.csdn.net/akof1314/archive/2009/12/06/4952372.aspx ,而要让单文档模拟对话框,具体参考:http://blog.csdn.net/akof1314/archive/2010/05/14/5593802.aspx 这里有些不一样的是,CMainFrame里面要改为如下:

    int  CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) 

        if  (CFrameWndEx::OnCreate(lpCreateStruct) == -1
            return  -1 ;     
        // 基于持久值设置视觉管理器和样式 
        OnApplicationLook(theApp.m_nAppLook); 
        return  0
    }

    另一个函数PreCreateWindow:

    BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) 

        if ( !CFrameWndEx::PreCreateWindow(cs) ) 
            return  FALSE; 
        // TODO: 在此处通过修改 
        //  CREATESTRUCT cs 来修改窗口类或样式 
        m_strTitle= "这是用单文档做出来的对话框" ; 
        cs.style&= ~FWS_ADDTOTITLE;   //去掉单文档的“无标题” 
        cs.style&= ~WS_THICKFRAME;   //去掉可调大小     
        cs.style &=  ~WS_MAXIMIZEBOX;    //去掉最大化按钮 
        cs.style &=  ~WS_MINIMIZEBOX;     //去掉最小化按钮 
        cs.hMenu= NULL ;   //去掉菜单栏 
        return  TRUE; 
    }

    对于按钮的美化就要使用上一篇说到的CxSkinButton按钮皮肤类(http://blog.csdn.net/akof1314/archive/2010/07/05/5713833.aspx ),按钮的素材我已放入源代码工程里面,CxSkinButton类自己加了SizeToContent功能,下面是Form的初始化函数:

    void  CShowForm2View::OnInitialUpdate() 

        ModifyStyleEx( WS_EX_CLIENTEDGE, WS_EX_STATICEDGE); //去掉Form体凹陷 
        ModifyStyle(- 1  ,WS_CHILD| WS_VISIBLE);       //做为子窗体,可见 
        CFormView::OnInitialUpdate(); 
        GetParentFrame()->RecalcLayout(); 
        ResizeParentToFit(); 
        m_brush.CreateSolidBrush(RGB(213 ,228 ,242 ));   //   生成office2007blue刷子,修改背景颜色所用 
        m_Btn1.SetToolTipText(_T("这是按钮一")); 
        m_Btn1.SetSkin(IDB_BITMAP1,IDB_BITMAP2,IDB_BITMAP3,IDB_BITMAP4,IDB_BITMAP5,NULL,0 ,0 ,0 ); 
        m_Btn1.SizeToContent(); 
        m_Btn2.SetToolTipText(_T("这是按钮二")); 
        m_Btn2.SetSkin(IDB_BITMAP1,IDB_BITMAP2,IDB_BITMAP3,IDB_BITMAP4,IDB_BITMAP5,NULL,0 ,0 ,0 ); 
        m_Btn2.SizeToContent(); 
    }

    运行效果如下:

    修改背景颜色和设置文本之类的透明等,这里不再介绍,完整代码和例子:http://download.csdn.net/source/2517994

    展开全文
  • 问题描述当使用support里的design 库里的BottomSheetDialog时,在6.0的机器上当对话框弹出时系统状态栏会变黑,如下图所示: 一开始以为是我用的姿势不对,试过对style配置状态栏颜色,配置其他可能影响到的属性...

    注:发现新版本的design库已经没有这个问题,使用以下代码可能会使底部增加一条灰色的条,请注意。

    问题描述

    当使用support里的design 库里的BottomSheetDialog时,在6.0的机器上当对话框弹出时系统状态栏会变黑,如下图所示:
    这里写图片描述
    一开始以为是我用的姿势不对,试过对style配置状态栏颜色,配置其他可能影响到的属性都没成功,今天google了一下,发现应该是BottomSheetDialog本身实现的问题,见:https://code.google.com/p/android/issues/detail?id=202691。其中的一条评论认为应该是BottomSheetDialog使用的布局为MATCH_PARENT``MATCH_PARENT导致,并通过修改布局高度的方式解决了这个问题,见下面第一种解决方法:

    解决方法

    第一种,修改布局高度

    继承BottomSheetDialog并重写其protected void onCreate(Bundle savedInstanceState)方法,代码如下:

        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            int screenHeight = getScreenHeight(getOwnerActivity());
            int statusBarHeight = getStatusBarHeight(getContext());
            int dialogHeight = screenHeight - statusBarHeight;
            getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, dialogHeight == 0 ? ViewGroup.LayoutParams.MATCH_PARENT : dialogHeight);
        }
    
        private static int getScreenHeight(Activity activity) {
            DisplayMetrics displaymetrics = new DisplayMetrics();
            activity.getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
            return displaymetrics.heightPixels;
        }
    
        private static int getStatusBarHeight(Context context) {
            int statusBarHeight = 0;
            Resources res = context.getResources();
            int resourceId = res.getIdentifier("status_bar_height", "dimen", "android");
            if (resourceId > 0) {
                statusBarHeight = res.getDimensionPixelSize(resourceId);
            }
            return statusBarHeight;
        }

    如果你和我一样是使用了BottomSheetDialogFragment的话,那么需要继承它并重写它的public Dialog onCreateDialog(Bundle savedInstanceState)方法,改为返回一个你重写后的Dialog对象:

        @Override
        public Dialog onCreateDialog(Bundle savedInstanceState) {
            return new YourBottomSheetDialog(getContext(), getTheme());
        }

    解决后的效果是这样的:
    这里写图片描述

    解决了状态栏变成黑色的问题,并且也没带来新的问题,可以说是完美解决。

    第二种,添加FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS标志

    第二种解决方法是在返回对话框之前,对Window添加一个FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS标志位。它同样是需要继承BottomSheetDialogFragment,并重写以下方法:

        @Override
        public Dialog onCreateDialog(Bundle savedInstanceState) {
            Dialog dialog = super.onCreateDialog(savedInstanceState);
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
            }
            return dialog;
        }

    然而,在华为带虚拟导航栏的手机中运行起来会这样:
    这里写图片描述

    底部的内容被虚拟导航栏遮住了。这个方法不能采用。

    第三种,设置半透明状态栏

    修改方法与第二种类似,代码如下:

        @Override
        public Dialog onCreateDialog(Bundle savedInstanceState) {
            Dialog dialog = super.onCreateDialog(savedInstanceState);
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
                dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
            }
            return dialog;
        }

    结果如下:
    这里写图片描述

    它也没什么问题,不过对于能够设置状态栏颜色的情况下,我还是不喜欢顶部这种半透明的渐变。

    总结

    总结一下,第一种解决方法可以说是完全满足我的要求。第二种解决方法在一些设备上有缺陷。第三种方法代码量同样也是最小的,不过它是设置顶部状态栏为半透明,这一点与我程序员其他地方在6.0系统上直接设置状态栏颜色的行为不一致,所以在项目中也不采用它。

    参考资料:

    《Show BottomSheetDialogFragment changes status bar color to black》

    展开全文
  • word标题数字变黑块处理方法

    万次阅读 2016-05-16 11:14:35
    word标题数字变黑块,如下图 解决的办法及步骤: 1、将光标定位到标题中黑框右侧。 2、按动键盘上的左方向键,直到黑框变成灰色 3.、按键盘的快捷键 Ctrl+Shift+S,会出来一个对话框“应用样式”。 4、...
  • 用ScrollWindow时,Edit控件背景框变黑。 在OnCtlColor中SetBkMode(TRANSPARENT)无效。 思考了一下,是因为我在每次对话框重绘时,用纯白画刷刷了一遍对话框,但是控件所在区域应该是没有被刷到的。此时设置Edit...
  • word2010中多级列表的序号不知原因的变成块 解决方案: 1)将光标定位到标题中,紧邻黑框的右侧; 2)按动键盘上的左方向键,直到黑框变成灰色; 3)按键盘的快捷键 Ctrl+Shift+S,弹出一个对话框“应用样式”; 4...
  • 按键盘的快捷键 Ctrl+Shift+S,会出来一个对话框“应用样式”。单击“重新应用”按钮即可。 (标题几就连续单击几次 正在上传…重新上传取消转存失败重新上传取消 然后重复用选择每一级编号,比如有...
  • 自从微软放弃了对win7系统的维护更新,一些BUG也就慢慢出现了,最近用户反映,开机后电脑桌面背景变黑,即使重新换了桌面背景,还是会出现这种情况。下面小编就来告诉大家怎样解决这一问题。 1、点击开始菜单,输入...
  • 在‘开始”选项卡,单击“样式”组的对话框启动器;在“样式”窗口,指向“页眉”,并单击其后出现的三角箭头,再单击“修改”;在“修改样式”对话框,单击“格式”按钮,再单击“边框”;在“边框”选项卡的“设置”...
  • 打开编号显示为块的文档,把光标放置在块的后面,然后在键盘上按左方向键,则灰色(为选中状态)。2然后按下ctrl+shift+s, 出现应用样式窗口点击“重新应用”,块显示成正常的编号。3然后点击“多级列表...
  • 1打开编号显示为块的文档,把光标放置在块的后面,然后在键盘上按左方向键+ctrl,则灰色(为选中状态)。2然后按下ctrl+shift+s,出现应用样式窗口点击“重新应用”,块显示成正常的编号。3然后点击...
  •  二、对话框内容。 1、variables:输入需包含在分析中的变量栏。 2、Numberoffactorstoextract:输入需提取的因子数量,如未指定主要成分提取的数量,minitab将该数量设置为等于数据组中的变量数。 3、Methodof....
  • 但非主页的页面NavigationBar都是白底字,如果dialog退出后状态栏字体不变回去会使得状态栏消失。 <p><strong>尝试过的解决办法 原本是自定义的升级提示框会出现上述问题才改用公用组件。</p><p>该提问来源...
  • js实现点击按钮,弹出一个对话框,高亮对话框,周围颜色黑暗透明效果。弹出窗口远程调用taobao登陆界面,可以直接登陆淘宝网。懒人之家推荐下载
  • 电脑慢de完全解决方案  一、软件篇  1、设定虚拟内存  硬盘中有一个很宠大的数据交换文件,它是系统预留给虚拟内存作暂存的地方,很多应用程序都经常会使用到,所以系统需要经常对主存储器作大量的数据存取...
  • 色阶 快捷键ctrl+l打开色阶对话框,移动黑场或白场可以调整...快捷键ctrl+M打开曲线对话框,横坐标表示小于某个值变黑/白,纵坐标表示最黑/白有多黑/白,和色阶一样,曲线可以做非线性的色阶输入和输出,主要调节对比
  • 今天给大家介绍用 Photoshop制作水滴效果点击文件一新建弹出新建 对话框对话框中设定文件的宽度和高度为 330象素将前景色设置为黑色背景色 设置为白色 单击工具箱中的渐变工具在属性栏中选择从前景色到背景色的...
  • word 编号不显示变黑块/黑条 解决的办法及步骤:1、将光标定位到标题中,紧邻黑框的右侧。2、按动键盘上的左方向键,直到黑框变成灰色3.、按键盘的快捷键 Ctrl+Shift+S,会出来一个对话框“应用样式”。4、在这...
  • 今天给大家介绍用 Photoshop 制作水滴效果点击 文件 新建 弹出 新建 对话框对话框中设定文 件的宽度和高度为 330 象素将前景色设置为黑色背景色设置为白色 单击工具箱中的 渐变工具 在属性栏中选择 从前景色到背景...
  • MFC实现Flash动画播放

    2017-10-26 11:27:02
    本文例子基于VS2005创建,编译通过。   打开VS2005创建一个基于对话框的MFC应用程序,完成创建。...右键点击对话框,选择插入...出现黑色框体(flash 播放框体),拖动黑色框体至窗口大小,右键点击,添加成员
  • 5.1 轮廓和填充概述 轮廓线是指构成路径的...填充前 填充后 5.2 编辑轮廓线 单击轮廓画笔对话框工具 可以打开轮廓笔对话框利用该对话框可以最全面地设置轮廓线的线宽样式箭头等属性 5.3.1 使用默认CMYK调色板 5.3 标
  • 双击图层面板上的任务栏图层打开图层样式对话框给它1像素的黑色描边选择渐变叠加为渐变应用如下色彩 ? 3.在渐变条上点击打开渐变编辑器这些设置将给你最好的结果尽量使滑杆接近如图所示 ? 为显示这些设置有多接近
  • 1、新建一画布,添加背景色,单击“渐变”工具,选择线性渐变,打开渐变编辑器对话框,设置“-蓝”的渐变色; 2、新建图层,选择“椭圆选框工具”,按住Shift,画出一个正圆选框, 选择渐变工具,设置“白-...
  • 操作过程 步骤二 填充颜色 (1)选择纸船突出的左边尖角部分单击工具箱中填充工具组里的渐变填充弹出如图4.102所示渐变填充对话框在该对话框填充类型中选择线性填充颜色调和选择双色(从白色到50%)去掉轮廓线后效果如...

空空如也

空空如也

1 2 3 4 5 6
收藏数 107
精华内容 42
关键字:

对话框变黑