Bu beni merak ediyor. STATİK metin için WM_SETTEXT denetim içeriğini yenilemez
bunu kullanmaktan
: nextControl bir STATİK kontrolünü (bir etiket) 'dirHelpers.WinApi.SendMessage(nextControl, Helpers.WinApi.WM_SETTEXT, 0, "My String");
kontrol hemen yenilemez. Merak, kontrolün değiştirilen metni sadece Alt tuşuna bastığımda göstermesidir. Denetim yenilemeyi zorladığımda (örneğin, pencereyi en aza indirirken ve sonra geri yüklerken) değişen metni bile göstermez.
Bu yalnızca STATIC kontrolü ile olur. EDIT kontrolleri ile gerçekleşmez.
Nasıl çözülür?
Jaime
Zorunlu pencere rötuşunun benzer etkisini elde etmek için UpdateWindow() öğesini kullanabilirsiniz. – bunglehead
@bunglehead Ben öyle düşünmüyorum. Tüm pencere (ön plan penceresini en üst düzeye çıkarma veya değiştirme nedeniyle) yeniden boyanırken, UpdateWindow otomatik olarak çağrılmalı ve sözde söylediğim gibi Kontrol, yalnızca Alt Tuşa bastığımda yenilenir. Meraklı. – jstuardo
Statik kontrol penceresinin kendisi üzerinde UpdateWindow() komutunu kullanıyorum, tüm diyaloğunuz ya da bu statik olan her ne varsa ebeveyniniz. Bunu ControlSpy test programı ile yeniden oluşturamıyorum garip, her iki sürüm 5 ve 6 hemen zorla güncelleme olmadan güncelleme. – bunglehead