Bu şeyin çizimini gerçekleştiren bir kod gördük (DFCS_SCROLLSIZEGRIP
), ancak mutlaka "ücretsiz olarak" alabilmek için uygulayabileceğim bir pencere stili var. Sağ?CDialog'da boyut sapı gösteriliyor mu?
2
A
cevap
3
Daha iyi bir yanıt yerine, boyut tutamağını çizen ve isabet testini gerçekleştiren kodu göndereceğim. Ayrıca, yeniden tanımlamak için OnSize sırasında uygun alanı geçersiz kılmanız gerekir.
BOOL CMyDialog::OnEraseBkgnd(CDC* pDC)
{
if (CDialog::OnEraseBkgnd(pDC))
{
// draw size grip
CRect r;
GetClientRect(&r);
int size = GetSystemMetrics(SM_CXVSCROLL);
r.left = r.right - size;
r.top = r.bottom - size;
pDC->DrawFrameControl(&r, DFC_SCROLL, DFCS_SCROLLSIZEGRIP);
return TRUE;
}
else
{
return FALSE;
}
}
-
LRESULT CMyDialog::OnNcHitTest(CPoint point)
{
// return HTBOTTOMRIGHT for sizegrip area
CRect r;
GetClientRect(&r);
int size = GetSystemMetrics(SM_CXVSCROLL);
r.left = r.right - size;
r.top = r.bottom - size;
ScreenToClient(&point);
if (r.PtInRect(point))
{
return HTBOTTOMRIGHT;
}
else
return CDialog::OnNcHitTest(point);
}
0
bedavaya bu işlevselliği almak için bir varsayılan stil olduğunu düşünmüyorum. Sen genişlemiş aksi takdirde iz bırakacaklardır SBS_SIZEGRIP pencere büyüklüğünde zaman kavrama alanını geçersiz gerekecektir yukarıda bahsettiği OnEraseBkgnd ve OnNcHitTest ek olarak
0
, sınıf adı Scrollbar
ve kontrol tarzı ile yeni bir alt pencere oluşturmak zorunda :
void CMyDialog::OnSize(UINT nType, INT cx, INT cy)
{
CRect rc;
int iSize=GetSystemMetrics(SM_CXVSCROLL);
GetClientRect(rc);
InvalidateRect(CRect(rc.left-iSize, rc.bottom-iSize, rc.right, rc.bottom), FALSE);
CDialog::OnSize(nType, cx, cy);
}
İlgili konular
- 1. Yükleme ekranı gösteriliyor mu?
- 2. Değer boşsa "-" gösteriliyor mu?
- 3. MongoDB için normal boyut mu?
- 4. CSS font özelliğinde iki boyut belirtiliyor mu?
- 5. Çıktı ile satır sapı nasıl düzeltilir?
- 6. Metin bir konsolda çarpma efektiyle gösteriliyor mu?
- 7. Excel işlevleri olarak .net yöntemleri gösteriliyor mu?
- 8. Özel denetim için özel simge gösteriliyor mu?
- 9. Kullanılmayan yöntem parametresi için uyarı gösteriliyor mu?
- 10. , boyut
- 11. Boyut ApplicationDataCompositeValue
- 12. R Sonuç gösteriliyor sadece gösteriliyor
- 13. Sol birleştirme kullan ama değer no gösteriliyor mu?
- 14. Web Uygulamasında AWS S3 İmzalı URL'leri Gösteriliyor mu?
- 15. AngularJS'de ng tekrarlama yönergesinde dinamik olarak şablon gösteriliyor mu?
- 16. Her yerde doxygen dokümantasyonundaki tüm ücretsiz fonksiyonlar gösteriliyor mu?
- 17. boyut özniteliği,
- 18. UIActivityViewController Boyut
- 19. Angularjsggörüntü gösteriliyor
- 20. Görev çubuğunda JDialog gösteriliyor Çalışmıyor
- 21. Artan Dizi Boyut dinamik
- 22. jQuery height() Boyut değiştirilemedi()
- 23. PCA Boyut Azaltma
- 24. Sabit Boyut Dizisi
- 25. Ayar Düğmesi Boyut
- 26. Agda'da boyut tipleri nelerdir?
- 27. Tkinter Penceresi Boyut Al
- 28. Android sharedpreferences boyut sınırı
- 29. minimum minimum boyut
- 30. belirli bir boyut excel