ID Artikel: 266244 - Kajian Terakhir: 22 September 2011 - Revisi: 2.0

Cara membuat layar penuh aplikasi untuk PocketPC

Tips SistemThis article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.
Perbesar semua | Perkecil semua

RINGKASAN

Dokumentasi jelas menjelaskan cara menggunakan SHFullScreen API di non - Microsoft Foundation kelas MFC aplikasi Win32 untuk membuat layar penuh jendela pada PocketPC. Namun, dokumentasi tidak menjelaskan prosedur yang sama untuk aplikasi berbasis MFC. Artikel ini menjelaskan cara membuat aplikasi penuh-disaring untuk PocketPC dengan menggunakan Win32 API atau MFC.

INFORMASI LEBIH LANJUT

Untuk aplikasi yang menargetkan Windows CE, itu telah menjadi populer untuk menggunakan lebih banyak layar perangkat Palm-berukuran lebih kecil sebanyak mungkin. Pengguna baru interface (UI) platform PocketPC memerlukan pekerjaan tambahan untuk aplikasi untuk menggunakan area seluruh layar.

Untuk memahami komentar dalam kode contoh dalam artikel, istilah PocketPC UI baru dijelaskan:
  • Taskbar terletak di bagian atas layar, menampilkan keterangan aplikasi, dan memberi akses pengguna untuk memulai aplikasi.
  • Perintah bar, juga dikenal sebagai menu bar, terletak di bagian bawah layar.
  • Tombol panel masukan lembut (SIP) terletak pada perintah baris, ke sudut kanan bawah layar.
Untuk mencapai sebuah jendela yang menggunakan layar sebanyak mungkin, panggilan aplikasi SHFullScreen untuk menyembunyikan elemen-elemen ini.

CATATAN: Untuk membuat dialog kotak layar penuh, jika kotak dialog memiliki kontrol dengan gaya WS_TABSTOP set, SHFullScreen akan tidak menyembunyikan tombol SIP. Jika Anda perhatikan bahwa tombol SIP tiba-tiba tidak dapat disembunyikan, lihat sumber kotak dialog di editor sumber daya dan melihat kotak dialog properti untuk masing-masing kontrol. Memverifikasi bahwa Tab Stop kotak centang tidak dipilih untuk semua kontrol.

Untuk aplikasi Win32 biasa yang menggunakan CreateWindow atau CreateWindowEx fungsi untuk UI utama, panggilan SHFullScreen untuk menyembunyikan elemen UI mengesankan untuk mengaktifkan layar penuh lengkap cakupan, panggilan ShowWindow fungsi untuk menyembunyikan aplikasi perintah baris, dan kemudian menyesuaikan ukuran jendela dengan menggunakan MoveWindow fungsi.

Contoh kode di bawah ini menggambarkan metode ini. Kode ini telah diadaptasi dari sampel SHAPI Win32 Pocket PC SDK.
      #define MENU_HEIGHT 26
      RECT rc;

      //get window size
      GetWindowRect(hWnd, &rc);

      SHFullScreen(hWnd, SHFS_HIDETASKBAR | SHFS_HIDESIPBUTTON);
      ShowWindow(hwndCB, SW_HIDE);

      MoveWindow(hWnd, 
		  rc.left, 
		  rc.top-MENU_HEIGHT, 
		  rc.right, 
		  rc.bottom+MENU_HEIGHT, 
		  TRUE);  
				
CATATAN: Jika Anda ingin mengembalikan ukuran asli aplikasi, menggunakan SHFS_SHOWTASKBAR dan SHFS_SHOWSIPBUTTON. Namun, MoveWindow disebut dengan parameter bawah menurun oleh dua kali MENU_HEIGHT. Misalnya:
      // Code to revert back to not full-screen:
      RECT rc;
      GetWindowRect(hWnd, &rc);
      SHFullScreen(hWnd, SHFS_SHOWTASKBAR | SHFS_SHOWSIPBUTTON);
      ShowWindow(hwndCB, SW_SHOW);
      MoveWindow(hWnd, 
         rc.left, 
         rc.top+MENU_HEIGHT, 
         rc.right, 
         rc.bottom-(2*MENU_HEIGHT), 
           TRUE);  
				
Untuk aplikasi Win32 kotak dialog, SHInitDialog fungsi digunakan dalam penangan untuk WM_INITDIALOG. SHInitDialog digunakan dalam hubungannya dengan SHFullScreen fungsi untuk menyembunyikan elemen UI dan mencapai kotak dialog layar penuh:
     case WM_INITDIALOG:

#define MENU_HEIGHT 26
      SHINITDLGINFO shidi;
      RECT rc;
  
      shidi.hDlg = hDlg;
      shidi.dwMask = SHIDIM_FLAGS;
      shidi.dwFlags = SHIDIF_FULLSCREENNOMENUBAR;
  
      SHInitDialog(&shidi);

      GetWindowRect(hDlg, &rc);
      MoveWindow(hDlg, 
         rc.left, 
         rc.top-MENU_HEIGHT, 
         rc.right, 
         rc.bottom,
       TRUE);

      SetForegroundWindow(hDlg);
      SHFullScreen(hDlg, SHFS_HIDETASKBAR | SHFS_HIDESIPBUTTON);
				
Berikut ini membahas cara untuk melakukan tugas-tugas serupa dari dalam MFC aplikasi. Ada dua jenis utama MFC aplikasi untuk Windows CE, berbasis dialog dan SDI atau dokumen/tampilan dukungan aplikasi. Untuk mencapai apa yang menunjukkan sampel SHAPI Win32, Anda harus mengakses data anggota MFC kelas.

Berikut ini menggambarkan proses untuk dokumen/lihat jenis aplikasi. Kode ini adalah untuk handler perintah yang akan menempatkan aplikasi dalam modus layar penuh:
void CMainFrame::OnFullscreen() 
{
      #define MENU_HEIGHT 26
      RECT rc;

      //get window size
      GetWindowRect(&rc);

      ::SHFullScreen(m_hWnd, SHFS_HIDETASKBAR | SHFS_HIDESIPBUTTON);
      ::ShowWindow(this->m_hCommandBar, SW_HIDE);

      MoveWindow(rc.left, 
		  rc.top-MENU_HEIGHT, 
		  rc.right, 
		  rc.bottom+MENU_HEIGHT, 
		  TRUE);	
}
				
Jika kotak dialog akan ditampilkan untuk menutupi seluruh layar, kode yang sama ditempatkan di OnInitDialog Handler. Salah satu perbedaan adalah bahwa kerangka MFC PocketPC menciptakan perintah kosong bar di CDialog yang harus tersembunyi:
BOOL CMfctest2Dlg::OnInitDialog()
{
   m_bFullScreen = FALSE;
   CDialog::OnInitDialog();

   // Call SHInitDialog with flags for full screen.
   SHINITDLGINFO shidi;

   shidi.dwMask = SHIDIM_FLAGS;
   shidi.dwFlags = SHIDIF_FULLSCREENNOMENUBAR;
   shidi.hDlg = m_hWnd;
   SHInitDialog(&shidi);

   // Set the icon for this dialog box. The framework does this automatically
   //  when the application's main window is not a dialog box.
   SetIcon(m_hIcon, TRUE);   // Set big icon.
   SetIcon(m_hIcon, FALSE);  // Set small icon.

// TODO: Add extra initialization here.
   ::CommandBar_Show(m_pWndEmptyCB->m_hWnd, FALSE);

   // SHFullScreen fails if dialog box is not foreground.
   SetForegroundWindow();  
   SHFullScreen(m_hWnd, SHFS_HIDETASKBAR | SHFS_HIDESIPBUTTON);

   // Resize the window over the taskbar area.
#define MENU_HEIGHT 26
   RECT rect;
   GetWindowRect(&rect);
   rect.top -= MENU_HEIGHT;
   MoveWindow(&rect, TRUE);
	
   return TRUE;
}
				

Berlaku bagi:
  • Microsoft Office Keyboard
Kata kunci: 
kbhowto kbmt KB266244 KbMtid
Penerjemahan MesinPenerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:266244  (http://support.microsoft.com/kb/266244/en-us/ )
Retired KB ArticleSanggahan Konten KB yang Tidak Lagi Diperbarui
Artikel ini berisi tentang produk yang tidak lagi didukung oleh Microsoft. Oleh karena itu, artikel ini disajikan ?sebagaimana adanya? dan tidak akan diperbarui.