górny pasek w aplikacji... [potrzebna pomoc]

0

witam..

mam nastepujący problem i nie wiem jak go rozwiązać / wykonać:

zrobiłem pewną aplikacje (mini programik) i pozbawiłem go górnego paska widowsowego oraz ramek windowsowskich za pomocą pewnej opcji w ustawieniach "Form1" a mianowicie "BorderStyle" opcja "bsSingle". Przyciski które były na belce: zamkniecia i minimalizacji zastąpiłem przyciskami z kodem własnym... ale opcja ta pozbawia mnie przesuwania okna za pomocą myszki poprzez nacisniecie i przytrzymanie górnego paska i przesunięciu myszki w dowolny punkt ekranu...

jak wykonac taki pasek lub w jaki sposób wykonac funkcje aby po przytrzymaniu okna w dowolnym miejscu aplikacji myszką mozna ją było (aplikacje) przesuwac po ekranie?

z góry dziekuje za wszelką pomoc . . .

0

Umieść sobie na formie panel, który będzie zastępował pasek zadań i w jego zdarzeniu OnMouseDown wpisz:

    if Button = mbLeft then
        begin
        releasecapture;
        Perform (WM_SYSCOMMAND, $F012, 0);
        end;

Oczywiście zamiast panelu możesz użyć jakiegokolwiek innego komponentu...

0
madmike napisał(a)

Umieść sobie na formie panel, który będzie zastępował pasek zadań i w jego zdarzeniu OnMouseDown wpisz:

    if Button = mbLeft then
        begin
        releasecapture;
        Perform (WM_SYSCOMMAND, $F012, 0);
        end;

Oczywiście zamiast panelu możesz użyć jakiegokolwiek innego komponentu...

rozumie mze to jest napisane w Delphi tak? jestem początkujący wiec nie za bardzo kojarze.. ale czy mógłbym Cie prosic o przedstawienie tego w C++ ??

z góry dziekuje :)

0

Sorry, ale już późna pora...

//w pliku nagłówkowym umieść deklarację funkcji Przesun  
public:  
     void __fastcall Przesun(TMessage &Msg);  
BEGIN_MESSAGE_MAP  
    MESSAGE_HANDLER(WM_NCHITTEST, TMessage, Przesun)  
END_MESSAGE_MAP(TForm)  

//w pliku źródłowym jej definicję
void __fastcall TForm1::Przesun(TMessage &Msg)  
{  
    TForm::Dispatch(&Msg);  
    if (Msg.Result == HTCLIENT) Msg.Result = HTCAPTION;  
} 

To pozwoli na przesuwanie formy po "chwyceniu" jej myszką...

0

ok. o to mi własnie chodziło z tym ze widze ze po wstawieniu tego do kodu funkcja działa na całym Form1 i przysłania znajdujące sie "pod nią" różne przyciski jak zamknij, minimalizuj i inne...

czy da sie tą funkcje przedstawic dla pola np. "Image" (zakładka "aditional" w c++ builderze)?

jesli mógłbym cie prosic o napisanie tego dla "image" w wolnym czasie? bo dzis juz rzeczywiscie późno...

dziekuje za pomoc i poswiecony czas...

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