Bir TTimer doğrudan Canvas
özelliği var çünkü maalesef bu derleme değilDelphi'de bir TEdit'in tuvalini nasıl alabilirim?
Edit1.Text := MinimizeName(FileName, Edit1.Canvas, Edit1.Width);
gibi Tedit şey sığacak şekilde bir dosya adı kısaltmak istiyoruz. Tuval, yazı tipi metrikleri için gereklidir. Bir TEdit tuvaline nasıl erişebilirim?
(MinimizeName
Vcl.FileCtrl bildirilmiştir.)
Ayrıca, işlemi bitirdikten sonra 'ReleaseDC '' yi de çağırmanız gerekir. Ayrıca, başlatma sırasında bunu oluşturmayı ve kapatmayı da bırakmayı düşünmelisiniz. Ve daha da önemlisi, sadece Windows size 'WM_PAINT' mesajı ile söyleyince boyamanız gerekir, aksi takdirde Windows boyadığınız resmin üzerine geri döner. –
"WM_PAINT" belgelerine bakın: https://msdn.microsoft.com/en-us/library/windows/desktop/dd145213(v=vs.85).aspx –
@Jerry Ancak, ReleaseDC hakkında iyi bir nokta Kolu başlangıçta almayı kabul etmiyorum: gerekenden daha uzun süre bellek atamamalısınız. Ayrıca WM_PAINT'e ihtiyacım yok; OP'mde söylediğim gibi sadece yazı tipi metrikleri için tuvale ihtiyacım var. Dosya adını TEdit'in metin özelliğine atadım ve daha sonra VCL, resmin bakımıyla ilgileniyor. –