Hata: BN_DOUBLECLICKED Message Handler MFC iletişim kutusunda isabet.

Ö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:247323
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
Belirtiler
Düğme tıklatıldığında bir BN_DOUBLECLICKED ileti işleyicisi'düğmesi için bir iletişim kutusu veya bir pencere, işleyicinin çağrılmaz eklediğinizde, MFC sınıflar, Windows CE kullanıyor. Işleyici, Microsoft Windows 95, Microsoft Windows 98, Microsoft Windows NT 4.0 ve Microsoft Windows 2000 denir.
Neden
Bu sorun Windows CE işletim sisteminde bir hata kaynaklanmaktadır.
Çözüm
Bir olası çözüm düğmesi için bir BN_CLICKED işleyicisi eklemektir. Son birkaç milisaniye düğmeyi tıklatıldıktan olup olmadığını sınamak için aşağıdakine benzer bir kod işleyicisi içinde kullanın:
  static BOOL s_bLastClicked = TRUE;  static DWORD s_dwTickCount = 0;  if (s_bLastClicked)  {    DWORD dwTickCount = GetTickCount();    if ((dwTickCount - s_dwTickCount) < 500) //Last click less than 500ms?    {      s_bLastClicked = FALSE; //Was double-clicked, don't test next time...      //Assume a double click...      //Do your double-click code here...    }    s_dwTickCount = dwTickCount;  }  else     s_bLastClicked = TRUE;				
düğmeyi yardımcı olmak için el ile CS_DBLCLKS pencere sınıfı stil ekleme BS_NOTIFY ekleme ve stil. Ancak, el ile bu işlem Windows CE'yanı sıra, diğer platformlarda çalışan gönderilmesi iletinin izin vermiyor.
Durum
Microsoft, bunun bu makalenin başında listelenen Microsoft ürünlerinde bir hata olduğunu onaylamıştır.
Daha fazla bilgi

Davranışı yeniden oluşturma adımları

  1. MFC AppWizard WCE kullanarak yeni bir iletişim tabanlı uygulama oluşturun. Tüm varsayılan değerleri kabul etmek ve son ' u tıklatın.
  2. OnInitDialog yönteminde, dönüş ifadesi önce aşağıdaki kodu ekleyin:
    SetClassLong(m_hWnd, GCL_STYLE, GetClassLong(m_hWnd, GCL_STYLE) | CS_DBLCLKS);
  3. Düğme iletişim kutusuna ekleyin. Düğmeyi sağ fare düğmesiyle tıklatın ve sonra Özellikler ' i tıklatın. Stiller sekmesini tıklatın ve sonra <a0>bildir</a0> onay kutusunu seçin.
  4. Görünüm menüsünde Ek Yardım düğmesini tıklatıp ClassWizard menü öğesini seçerek, ClassWizard kullanın. Nesne kimlikleri</a0> bölümünde IDC_BUTTON1 ' ı tıklatın. Iletileri bölümünde BN_DOUBLECLICKED iletiyi tıklatın. Işlev Ekle'yi tıklatın ve sonra Kodu Düzenle'yi tıklatın.
  5. BN_DOUBLECLICKED ileti işleyicisi'düğmesi için bir kesme noktası koyun.
  6. Uygulama oluşturmak ve ne zaman oluşturma bitti çalıştırın.
Kesme öykünücüsü çalışan veya aygıtta çalışan isabet değil, dikkat etmelidir. Windows CE çalıştıran bir Win32 uygulaması, yukarıdaki adımları gerçekleştirmek, işleyicinin beklendiği gibi çalışır.
Belirli CE çift WM_LBUTTONDBLCLK BN_CLICKED BN_DOUBLECLICKED WM_LBUTTONDOWN WM_LBUTTONUP tıklatın

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 247323 - Son İnceleme: 02/23/2014 13:56:45 - Düzeltme: 2.0

Microsoft Windows CE Toolkit for Visual C++ 6.0

  • kbnosurvey kbarchive kbmt kbbug kbbutton KB247323 KbMttr
Geri bildirim