Makale numarası: 266244 - Son Gözden Geçirme: 19 Ağustos 2005 Cuma - Gözden geçirme: 4.2

PocketPC için tam ekran uygulamaları oluşturma

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.
Hepsini aç | Hepsini kapa

Özet

Belgelere açıkça SHFullScreen API içinde olmayan - Microsoft Foundation Class MFC bir Win32 uygulaması tam ekran pencereler PocketPC oluşturmak için nasıl kullanılacağını açıklar. Ancak, belgelere MFC tabanlı uygulamalar için aynı yordamı açıklanmaz. Bu makalede, MFC veya Win32 API kullanarak tam perdeli PocketPC uygulamalarını nasıl.

Daha fazla bilgi

Windows CE hedefleyen uygulamalar için olabildiğince çok küçük boyutta Palm aygıtların ekran kullanılacak popüler karşılaşılmaktadır. PocketPC platformunun yeni kullanıcı arabirimi (UI), bir uygulamanın tüm ekran alanını kullanmak ek iş gerektirir.

Bu makaledeki kod örnekleri açıklamalarda anlamak için <a0></a0>, yeni PocketPC UI terimler açıklanmaktadır:
  • Görev çubuğu ekranın en üstünde yer alır, uygulama başlıklarını görüntüler ve uygulamaları başlatmak için kullanıcı erişim sağlar.
  • Komut çubuğunu, menü çubuğu olarak da bilinir, ekranın altında bulunur.
  • Yazılım giriş paneli (SIP) düğmesini Komut çubuğuna ekranın sağ alt köşesinde bulunur.
Mümkün olduğu kadar ekran kullanan bir pencere elde etmek için <a0></a0>, bu öğeleri gizlemek için SHFullScreen uygulama çağırır.

Not: full-screen iletişim kutusu denetimleri WS_TABSTOP stili kümesiyle varsa, iletişim kutularını etkinleştirmek için SHFullScreen SIP düğmesini gizler değil. SIP düğmesini beklenmedik bir şekilde gizlenemez fark ederseniz, kaynak Düzenleyici iletişim kutusu kaynakları görmek ve Özellikler</a0> iletişim kutusunda, her denetim için görüntülemek. Tüm denetimler için Sekme Durdur onay kutusunu seçili olmadığını doğrulayın.

Düz bir Win32 uygulaması için kendi ana UI SHFullScreen tam bir tam ekran kapsamı etkinleştirmek için imposing UI öğeleri gizlemek için uygulamanın komut çubuğunu gizlemek için ShowWindow işlevini çağırın ve sonra MoveWindow işlevini kullanarak pencere boyutunu ayarla çağrısı için CreateWindow'u veya CreateWindowEx işlevini kullanır.

Aşağıdaki örnek kod, bu yöntem gösterilmektedir. Bu kod SHAPI Win32 Pocket PC SDK örnek uyarlanmış yapıldı.
      #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);  
				
Not:, uygulamanın özgün boyutuna geri yüklemek isterseniz, SHFS_SHOWTASKBAR ve SHFS_SHOWSIPBUTTON kullanın. Ancak, iki kez MENU_HEIGHT tarafından Azaltılan <a1>alt</a1> parametresi ile MoveWindow denir. Örneğin:
      // 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);  
				
WM_INITDIALOG için Win32 uygulama iletişim kutusu için SHInitDialog işlevi işleyicisini kullanılır. SHInitDialogSHFullScreen işleviyle birlikte kullanıcı ARABIRIMI öğelerini gizleme ve tam ekran iletişim kutusu elde etmek için kullanılır:
     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);
				
MFC uygulamaları benzer görevleri gerçekleştirme konusunda aşağıdaki anlatılır. MFC uygulamaları Windows CE tabanlı iletişim için ve SDI veya belge görünümü/destek uygulamaları iki ana türü vardır. Ne SHAPI Win32 örnek gösterilmiştir gerçekleştirmek için <a0></a0>, veri üyeleri MFC sınıfların erişmeniz gerekir.

Işlem için bir uygulama belge/görünüm türünü gösterir. Bu uygulama tam ekran modunda koyacaktır komut işleyici için koddur:
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);	
}
				
bir iletişim kutusu, tüm ekranı kaplayacak şekilde görüntülenmesi için ise, benzer bir kod OnInitDialog işleyicisinde yerleştirilir. Bir MFC framework PocketPC için gizli olmasını CDialog bir boş bir komut çubuğu oluşturur farktır:
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;
}
				

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Office Keyboard, Ne zaman ne ile kullanilir:
    • Microsoft Windows CE Platform SDK for Pocket PC
Anahtar Kelimeler: 
kbmt kbhowto KB266244 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:266244  (http://support.microsoft.com/kb/266244/en-us/ )
Retired KB ArticleKullanım Dışı Bilgi Bankası İçeriği Yasal Uyarı
Bu makale, Microsoft'un artık destek sağlamadığı ürünler ile ilgili olarak yazılmıştır. Bu nedenle, bu makale "olduğu gibi" sağlanmıştır ve bundan sonra güncelleştirilmeyecektir.