Embedded Visual C++ 4.0开发技巧(2)

l         怎样实现全屏(摘)

在主程序中加入下面代码:

HWND hWndInputPanel = NULL;

HWND hWndTaskBar    = NULL;

HWND hWndSipButton  = NULL;

RECT rtDesktop;

RECT rtNewDesktop;

//RECT rtInputPanel;

//RECT rtSipButton;

RECT rtTaskBar;

int InitFullScreen (void)

{

       int Result = 0;

       __try

       {

              if (SystemParametersInfo(SPI_GETWORKAREA, 0, &rtDesktop, NULL) == 1)

              {

                     // Successful obtain the system working area (Desktop)

                     SetRect(&rtNewDesktop, 0, 0, CEP_SCREEN_WIDTH, CEP_SCREEN_HEIGHT);

                     // Change system setting

                     SystemParametersInfo(SPI_SETWORKAREA, 0, &rtNewDesktop, SPIF_UPDATEINIFILE);

              }

              hWndTaskBar = FindWindow(TEXT("HHTaskBar"), NULL);

              // Checking...

              if (hWndTaskBar != NULL)

              {

                     // Get the original taskbar window size

                     GetWindowRect(hWndTaskBar, &rtTaskBar);

                     if (rtTaskBar.top >= CEP_SCREEN_HEIGHT)

                     {

                            rtTaskBar.top = CEP_SCREEN_HEIGHT - (rtTaskBar.bottom-rtTaskBar.top);

                            rtTaskBar.bottom = CEP_SCREEN_HEIGHT;

                     }

              }

       }

       __except(EXCEPTION_EXECUTE_HANDLER)

       {

              // PUT YOUR ERROR LOG CODING HERE

              // Set return value

              Result = 1;

       }

       return Result;

}

//显隐任务栏,隐藏时将任务栏窗口移到屏幕外面,显示时再移入

int DoFullScreen (bool mode)

{

       int Result = 0;

       __try

       {

              if (mode)

              {

                     // Update window working area size

                     SystemParametersInfo(SPI_SETWORKAREA, 0, &rtNewDesktop, SPIF_UPDATEINIFILE);

                     if (NULL != hWndTaskBar)

                     {

                            // Hide the TaskBar

                            MoveWindow(hWndTaskBar,

                               0,

                               rtNewDesktop.bottom,

                               rtTaskBar.right - rtTaskBar.left,

                              rtTaskBar.bottom - rtTaskBar.top,

                               false);

                     }

              }

              else

              {

                     // Update window working area size

                     SystemParametersInfo(SPI_SETWORKAREA, 0, &rtDesktop, SPIF_UPDATEINIFILE);

                     // Restore the TaskBar

                     if (NULL != hWndTaskBar)

                     {

                     MoveWindow(hWndTaskBar,

                        rtTaskBar.left,

                        rtTaskBar.top,

                        rtTaskBar.right - rtTaskBar.left,

                        rtTaskBar.bottom - rtTaskBar.top,

                        false);

                     }

              }

       }

       __except(EXCEPTION_EXECUTE_HANDLER)

       {

              // PUT YOUR ERROR LOG CODING HERE

              // Set return value

              Result = 1;

       }

       return Result;

}

 

在InitInstance(HINSTANCE hInstance, int nCmdShow)里加入

InitFullScreen();

在适当的地方加入

DoFullScreen(true/false);

l         WinCE所有的字符串都用Unicode

WinCE不支持ANSI字符,统统都是unicode的,所以所的字符都得转化为Unicode,尤其是字符串常量,使用宏命名_T(“”)或L””比如:

CString str1=_T(“Hello World!”);

CString str2=L”Hello World!”;

l         怎样把整型变量转为CString?

CString m_str;

m_str.Format(_T(“%d”),m_val);

同样,使用format格式化字符串,可以把多种类型转换为CString。

l         怎样获得对话框上面的控件的对象?

使用GetDlgItem方法,例如:

( (CWnd* )GetDlgItem( IDC_BTN_OK ) )->ShowWindow( true );

l         怎样获得系统当前时间?

CTime curTime = CTime::GetCurrentTime();

char showTime[10];

sprintf(showTime,"%d:%d:%d",curTime.GetHour(),curTime.GetMinute(),curTime.GetSecond());

也可以:

CTime curTime = CTime::GetCurrentTime();

CString showTime;

showTime.Format(L"%d:%d:%d",curTime.GetHour(),curTime.GetMinute(),curTime.GetSecond()); 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值