[Delphi] Co to jest "tagBITMAP"?

0

Ostatnio zająłem się rozgrzebywaniem źródła TSpinEdit żeby wyciągnąć ten podwójny przycisk góra-dół. Wszystko byłoby ładnie, gdyby nie to, że przy wszystkich operacjach na bitmapach wywala mi błąd "[Error] SpinButton.pas(266): Incompatible types: 'tagBITMAP' and 'TBitmap'". Nie wiem o co chodzi, ani nawet co to jest to "tagBITMAP" i czemu nie jest traktowane jak bitmapa. Z tego co mi się zdaje, to się wzięło z TSpeedButton, którego źródła oczywiście nie są dostępne. Czy ktoś mógłby mi pomóc?

0

Chcesz ten podwójny przyciszk góra dół ? Zaraz obok spin edit jest spinbutton po co się męczyć ?

0

Ale ja chcę go przerobić i jest mi potrzebny jego kod w osobnym pliku.

0

A co chcesz uzyskać przerabiając go? Może już jest taki kopmponent tylko o nim nie wiesz :-P :-D :-P

0

Tu jest taki mały haczyk. TBitmap to obiekt (klasa) a tagBitmap to rekord:

tagBITMAP = packed record
bmType: Longint;
bmWidth: Longint;
bmHeight: Longint;
bmWidthBytes: Longint;
bmPlanes: Word;
bmBitsPixel: Word;
bmBits: Pointer;
end;

Nie da się tych dwóch elementów przyporządkować sobie.

0

Więc jak to robi moduł Spin?

0

Więc jak to robi moduł Spin?

Ładuje bitmapę wykorzystując funkcje WinAPI zamiast obiektu TBitmap.

0

Ale tam jak byk stoi przypisanie (w jednej z funkcji): Result:=UpButton.Glyph czy jakoś tak. UpButton dziedziczy po SpeedButton który ma wartość Glyph typu TBitmap, a funkcja w której jest to przypisanie ma result typu TBitmap. po prostu nie kapuję, gdzie jest zadeklarowane to tagBITMAP i czemu to przypisanie działa w module Spin, skoro po wyciągnięciu z niego nie chce działać.

1 użytkowników online, w tym zalogowanych: 0, gości: 1