精华内容
下载资源
问答
  • 在状态栏中显示鼠标位置坐标

    千次阅读 2016-06-23 18:59:48
    (1)在状态栏资源添加一个窗格。实现的方法是打开MainFrm.cpp文件,找到静态数 组indicators的定义,第一个数组元素ID_SEPARATOR后面增加一个新的数组元素,即 添加了一个新的窗格,为了表明这个窗格的用途,...

    (1)在状态栏资源中添加一个窗格。实现的方法是打开MainFrm.cpp文件,找到静态数

    组indicators的定义,在第一个数组元素ID_SEPARATOR后面增加一个新的数组元素,即

    添加了一个新的窗格,为了表明这个窗格的用途,故命名为

    ID_INDICATOR_MOUSE_POS。修改后的代码如下:


    static UINT indicators[] =
    {
    	ID_SEPARATOR,           // status line indicator
    	ID_INDICATOR_MOUSE_POS,       //鼠标位置坐标值窗格
    	ID_INDICATOR_CAPS,			 // 大写 
    	ID_INDICATOR_NUM,			// 数字键 
    	ID_INDICATOR_SCRL,		   // 滚动 
    };


    (2) 在ResourceView的String Table中添加ID_INDICATOR_MOUSE_POS, 在Caption

    中输入“鼠标的当前坐标”。




    (3)添加鼠标移动消息的响应函数。

    编辑其代码如下:


    void CMyTextOutView::OnMouseMove(UINT nFlags, CPoint point) 
    {
    	// TODO: Add your message handler code here and/or call default
    		CString szCoordinate;
    		//获得状态栏的指针
    		CStatusBar* pStatusBar=(CStatusBar*)GetParentFrame()->
            GetDescendantWindow(ID_VIEW_STATUS_BAR);
    		szCoordinate.Format("(%4d,%4d)",point.x,point.y);
    		//在状态栏的第二个窗格中输出当前鼠标位置
    		pStatusBar->SetPaneText(1,szCoordinate);   //面板编号从0开始
    		CView::OnMouseMove(nFlags, point);
    }

    (4)运行效果如下:





    展开全文
  • 在状态栏显示信息

    千次阅读 2008-03-30 23:02:00
    本文介绍如何在状态栏中显示当前鼠标位置和鼠标所在位置的颜色。为了显示一个定制消息,我们需要为程序创建一个可以关联更新消息的元素(字符串资源),然后再状态栏中给它创建对应的pane,最后,通过WM_UPDATE_...

    在状态栏显示信息

     状态栏中缺省会显示按键状态和我们当前选择的菜单、工具条的描述信息。我们也可以朝状态栏中显示自己的信息。本文介绍如何在状态栏中显示当前鼠标位置和鼠标所在位置的颜色。

    为了显示一个定制消息,我们需要为程序创建一个可以关联更新消息的元素(字符串资源),然后再在状态栏中给它创建对应的pane,最后,通过WM_UPDATE_COMMAND_UI修改信息。具体步骤如下:

    1. 创建两个字符串资源,分别给予IDS_LOCATION, IDS_COLOR作为其ID,两个字符串资源分别设置初始值0 x 0和(0,0,0)作为位置和颜色的初始值。

    2. 在视图类中定义两个CString对象,用于记录位置和颜色信息

    CString g_szLocation = _T("0x0");
    CString g_szColor 
    = _T("(0,0,0");

    3. 在视图类中增加WM_MOUSEMOVE消息的处理

     

    void CMyView::OnMouseMove(UINT nFlags, CPoint point) 
    {
        
    // TODO: Add your message handler code here and/or call default
        g_szLocation.Format(_T("%3d x %3d "),point.x,point.y);
        CDC 
    * pDC = GetDC();
        COLORREF color 
    = pDC->GetPixel(point.x, point.y);
        g_szColor.Format(_T(
    "(%03d,%03d,%03d)"), GetRValue(color), GetGValue(color), GetBValue(color));
        CView::OnMouseMove(nFlags, point);
    }

     

    4. 在CMainFrame窗口的cpp文件中添加对这两个变量的声明

     

    extern CString g_szLocation;
    extern CString g_szColor ;

     

    5. 在CMainFrame实现文件中修改indicators数组的定义,把IDS_LOCATION ,IDS_COLOR加入其中

     

    static UINT indicators[] =
    {
        
        ID_SEPARATOR,           
    // status line indicator
        ID_INDICATOR_CAPS,
        ID_INDICATOR_NUM,
        ID_INDICATOR_SCRL,
        IDS_LOCATION,
        IDS_COLOR
    }
    ;

    6. 在CFrameWnd::OnCreate函数中状态栏被创建后的代码处插入如下两行

    m_wndStatusBar.SetPaneInfo (4, IDS_LOCATION, SBPS_NORMAL ,120);
    m_wndStatusBar.SetPaneInfo (
    5, IDS_COLOR, SBPS_NORMAL ,120);

    其中4,5分别是IDS_LOCATION, IDS_COLOR在indicators数组中的下标。

    7. 在CMainFrame类中添加两个WM_UPDATE_COMMAND_UI消息的处理函数

     

    void CMainFrame::OnUpdateLocation(CCmdUI *pCmd)
    {
        pCmd
    ->SetText (g_szLocation);
    }


    void CMainFrame::OnUpdateColor(CCmdUI *pCmd)
    {
        pCmd
    ->SetText (g_szColor);
    }

    8.在CFrameWnd消息映射节插入对IDS_COLOR,IDS_LOCATION的更新消息映射

    BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
        
    //{{AFX_MSG_MAP(CMainFrame)
            
    // NOTE - the ClassWizard will add and remove mapping macros here.
            
    //    DO NOT EDIT what you see in these blocks of generated code !
        ON_WM_CREATE()
        
    //}}AFX_MSG_MAP
        ON_UPDATE_COMMAND_UI(IDS_LOCATION,OnUpdateLocation)
        ON_UPDATE_COMMAND_UI(IDS_COLOR,OnUpdateColor)
    END_MESSAGE_MAP()
    这样,当鼠标移动后,g_szLocation, g_szColor就会被更新,进而触发了对IDS_COLOR, IDS_LOCATION的WM_UPDATE_COMMAND_UI的消息,从而位置和颜色就被显示了。
    展开全文
  • MFC在状态栏中使用进度条控件

    千次阅读 2017-03-15 20:04:24
    MFC中把进度条放到状态栏中使用,就这么简单!
    

    在状态栏上使用进度条

    原理: 状态栏是个窗口,进度条将父窗口设置为状态栏的某一分区即可

    步骤:

    0. 建立MFC对话框程序

    1. 增加头文件,CProgressCtrl需要使用

    2. 在类中声明2个控件:状态栏 + 进度条(进度条在资源编辑器中创建)

    3. 进度条是资源,有ID,需要对象数据交换

    4. 创建、布置状态栏 (在初始化对话框函数中)

    5. 设置状态栏的某一分区为进度条父窗口

    6. 使用定时器让进度条动起来


    运行显示:


    主要代码:

    1-2-3

    #include <afxcmn.h> //包含头文件
    
        CStatusBar m_status;
        CProgressCtrl m_progress;
    
    DDX_Control(pDX, IDC_PROGRESS1, m_progress); //对象数据交换

    4-5

        m_status.Create(this);	//创建状态栏
        UINT arr[] = {1001,1002,1003};
        m_status.SetIndicators(arr, sizeof(arr)/sizeof(UINT)); 
    
        m_status.SetPaneInfo(0, 1001, 0, 100);	//设置分区ID及大小
        m_status.SetPaneInfo(1, 1002, 0, 200);
        m_status.SetPaneInfo(2, 1003, 0, 200);
    
        m_status.SetPaneText(0, _T("GOGO"));
        RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);
    
        RECT rt;
        m_status.GetItemRect(2, &rt);	//获取状态栏所需要区的窗口矩形
        m_progress.SetParent(&m_status);	//设置状态栏为父
        m_progress.MoveWindow(&rt);
        m_progress.ShowWindow(1);

    6

    //消息映射宏:     ON_WM_TIMER()
    //类内声明函数:    afx_msg void OnTimer(UINT nID);
    //类外实现函数:
    void MyDialog::OnTimer(UINT nID)
    {
        static int iPos = 0;
        iPos += 5;
        if (iPos > 100)     iPos = 0;
        m_progress.SetPos(iPos);
        return CDialog::OnTimer(nID);
    }
    

    7. 不要忘记调用SetTimer触发定时器

    SetTimer(1,100,NULL);







    展开全文
  • Android系统状态栏的隐藏和显示

    万次阅读 2017-03-22 15:50:32
    尤其视频类APP,需要实现切换到横屏后,隐藏系统状态栏,全屏显示,以实现看更大画面的视频。当切换回竖屏后,又显示状态栏。那么如何实现呢?

    Android中系统状态栏的隐藏和显示

    尤其视频类APP,需要实现切换到横屏后,隐藏系统状态栏,全屏显示,以实现看更大画面的视频。当切换回竖屏后,又显示状态栏。那么如何实现呢?

    网上流传着很多种做法。比如:
    1、在AndroidManifest.xml文件中修改theme为android:theme=”@android:style/Theme.NoTitleBar.Fullscreen”
    2、在setContentView方法前执行如下代码:

    requestWindowFeature(Window.FEATURE_NO_TITLE)
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);

    3、通过View的setSystemUiVisibility方法
    4、通过如下代码实现状态栏的隐藏和显示:

    getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN) //隐藏状态栏
    getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN) //显示状态栏

    在我的项目中是要实现如下需求:在当前Activity中,切换到横屏后,不能销毁Activity再重新初始化,并且实现隐藏系统状态栏,全屏显示;当切换回竖屏后,又显示状态栏。另外,我不需要隐藏标题栏。
    因此,方法1、2均不适合我。方法3,我采用过,调用setSystemUiVisibility方法,该方法传入的参数可以为:

    1. View.SYSTEM_UI_FLAG_VISIBLE:显示状态栏,Activity不全屏显示(恢复到有状态的正常情况)。
    2. View.INVISIBLE:隐藏状态栏,同时Activity会伸展全屏显示。
    3. View.SYSTEM_UI_FLAG_FULLSCREEN:Activity全屏显示,且状态栏被隐藏覆盖掉。
    4. View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN:Activity全屏显示,但状态栏不会被隐藏覆盖,状态栏依然可见,Activity顶端布局部分会被状态遮住。
    5. View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION:效果同View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
    6. View.SYSTEM_UI_LAYOUT_FLAGS:效果同View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
    7. View.SYSTEM_UI_FLAG_HIDE_NAVIGATION:隐藏虚拟按键(导航栏)。有些手机会用虚拟按键来代替物理按键。
    8. View.SYSTEM_UI_FLAG_LOW_PROFILE:状态栏显示处于低能显示状态(low profile模式),状态栏上一些图标显示会被隐藏。

    这里我需要传入的是View.SYSTEM_UI_FLAG_FULLSCREEN,可是当我传入该参数后,结果是:只是状态栏消失了,但是位置还在。(测试手机:华为荣耀8 系统是基于Android 7.0的EMUI 5.0;三星galaxy s6 系统是Android 6.0)

    最后,使用方法4,成功满足需求。

    展开全文
  • vc在状态栏显示时间

    千次阅读 2011-12-07 17:50:41
    VC的控件中有个Status bar可以窗体状态栏中添加日期和时间。其实通 过简单的代码,你就能创建一个有时钟显示的状态栏,并且还能设置时钟栏的显 示方式。举例如下: 首先,用MFC AppWizard按默认方式创建一个...
  • 本篇文章教大家如何在状态栏中加入网速实时监控,效果如下图所示 上图就是要实现的效果,我们可以通过自定义一个View,让它继承TextView,然后该View内部添加获取实时网络并显示出来的逻辑,废话不多说,看...
  • Android 状态栏的动态显示和隐藏

    千次阅读 2016-04-25 20:18:38
    项目经常需要隐藏状态栏和titleBar,下面借鉴别人的博客,增加自己的一些小经验。工作会常用到!一)View类提供了setSystemUiVisibility和getSystemUiVisibility方法,这两个方法实现对状态栏的动态显示或隐藏的...
  • js 状态栏逐字显示文字

    千次阅读 2013-02-04 23:40:06
    效果图: ...状态栏 逐字显示一句话 var i=0; var iIntervalID=0; var info=""; var arr=["临","沂","大","学","欢","迎","您","!"]; function interval(){ if(i) {
  • VS2010-MFC在状态栏上添加进度条比VC6.0更加简单,不需要再从CStatusBar类中派生子类。 仔细查看VS2010生成的MainFrm.h文件我们可以看出,m_wndStatusBar已经是CMFCStatusBar的对象了,而不是CStatusBar对象。 ...
  • 在状态栏中加载进度条

    千次阅读 2012-06-01 06:57:49
    C技巧:程序的状态栏中实现进度条 读者朋友们可能天天使用Visual 这个强大的工具来应用程序,不知道注意到没有,Visual 每次装载一个项目的时候,为了使项目加载过程不至于太单调,会状态栏的左半部分会出现...
  • 一、创建状态栏的两种方法 创建状态栏有两种方法,分别使用CStatusBarCtrl和CStatusBar两个类来完成 ...2.OnInitDialog()加入: m_StatusBar.Create(WS_CHILD|WS_VISIBLE|SBT_OWNERDRAW, CRe...
  • 关于如何fragment 控制状态栏。主要是父类activity做处理  所有的操作为Activity进行。   只要是Activity的根目录就行 获取跟元素的setSystemUivisibity()属性控制 状态栏显示和隐藏。 ...
  • 获取鼠标Picture控件中的坐标,并显示到对话框的状态栏中  1. 题目 获取鼠标Picture控件中的坐标,并显示到对话框的状态栏中      2. 关键知识点 1) 对话框客户区的概念;...
  • 在状态栏中显示时间。 3.时间实时更新。 逻辑:对话框中先手动添加状态栏。而后通过Ctime类获取系统时间实时显示到某一控件上。主对话框中添加WM_Timer消息。一秒重新调用一次获取时间函数及控件显示的东西。 ...
  • 一、有关状态栏的隐藏 ...1.1、方式一:提示:控制器之间的状态栏不会相互影响 (下面是 iOS9 之后的设置,不支持 iOS 9以前设备) <1>、info.plist里面添加下面代码为YES View controller-based st...
  • excel状态栏上动态显示时间

    千次阅读 2007-04-20 20:43:00
    在状态栏上动态显示时间...通常来讲,StatusBar(状态栏) 是位于软件底部的一个条状标签,它一般用来显示软件的状态,例如鼠标状态(图像编辑软件的鼠标指针位置显示),键盘状态(WORD的大写状态,数字
  • Android状态栏微技巧,动态控制状态栏显示和隐藏

    万次阅读 多人点赞 2017-04-18 15:31:29
    记得之前有朋友在留言里让我写一篇关于沉浸式状态栏的文章,正巧我确实有这个打算,那么本篇就给大家带来一次沉浸式状态栏的微...而有些人在没有完全了解清楚沉浸模式到底是什么东西的情况下,就张冠李戴地认为一些系统
  • 研究《Android类似360,QQ管家那样的悬浮窗》突发奇想,想把应用的图标也显示状态栏上,类似手机QQ,而有消息来时改变状态栏上的图标显示。 二、原理 其实很研究完后,才发现,很简单: 2.1 显示图标...
  • android状态栏显示字,解决方法

    千次阅读 2017-11-04 18:45:34
    android状态栏显示字,解决方法
  • Android 显示、隐藏状态栏和导航栏

    千次阅读 2019-03-26 08:32:47
    控制状态栏显示,Activity的主题配置全屏属性 <item name="android:windowFullscreen">true</item> 控制状态栏显示setContentView之前设置全屏的flag getWindow().setFlags(WindowManager....
  • 1. 题目获取鼠标Picture控件中的坐标,并显示到对话框的状态栏中 2. 关键知识点1) 对话框客户区的概念;对话框客户区不包括状态栏。2) ScreenToClient的作用;ScreenToClient将获取的屏幕坐标转换成相对客户...
  • private void 定时_Tick(object sender, EventArgs e) { if (!运行.Checked) this.BeginInvoke(new 无参委托(显示系统时间)); if (运行.Checked) { 时间.Text = "节律自动运行
  • 在状态栏显示坐标

    千次阅读 2010-04-07 10:49:00
    stdafx.h添加如下代码:#pragma warning(push)#pragma warning(disable:4192)#pragma warning(disable:4146)#pragma warning(disable:4099)#import "D:/Program Files/ArcGIS/com/esriSystem.olb"raw_interf
  • MFC状态栏显示时间

    千次阅读 2006-07-12 20:34:00
    VC的控件中有个Status bar可以窗体状态栏中添加日期和时间。其实通过简单的代码,你就能创建一个有时钟显示的状态栏,并且还能设置时钟栏的显示方式。举例如下: 首先,用MFC AppWizard按默认方式创建一个单...
  • 状态栏时间显示的问题

    千次阅读 2016-11-18 15:24:26
    无意中发现状态栏中有时有时间显示,有时却没有时间显示,如下图 左上角有时间显示 左上角没有时间显示 代码区别是使用两种不同的Theme,有时间显示的那个AndroidManifest.xml中是这样写的: android:...
  • android 系统状态栏的隐藏和显示

    千次阅读 2019-05-17 11:20:33
    系统状态栏的隐藏和显示。 昨天遇到这个问题,找了好久资料才解决,这里记录一下。 网上流传着很多种做法。比如: 1、AndroidManifest.xml文件修改theme为android:theme=”@android:style/Theme.NoTitleBar....
  • 首先控制器添加如下代码 -(BOOL)prefersStatusBarHidden ...如果self.ifHidden = YES,那么状态栏将会隐藏。如果self.ifHidden = NO,...程序运行过程要主动触发这个方法去改变状态栏显示和隐藏,调用如
  • Android P 状态栏显示电量百分比

    千次阅读 2019-07-04 11:39:21
    ###状态栏默认显示电量百分比

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 304,704
精华内容 121,881
关键字:

在状态栏中没有显示