Grafika w Tray Menu

dział ogólny

Grafika w Tray Menu

Nowy postprzez Michal-S2 » piÄ…tek, 19 wrzeÅ›nia 2008, 22:08

Zrobiełm program z tray menu i wszystko działą dobrze, ale mam jedno pytanie związane z Tray Menu, a dokładniej z PopupMenu. Czy można wstawić grafikę z lewej strony PopupMenu, tak jak jest to na zdjęciu?
TrayMenu.gif
Nie masz wystarczających uprawnień, aby zobaczyć pliki załączone do tego postu.
Najgorsze nieszczęścia w historii były spowodowane przez idealistów próbujących zmuszać ludzi do tego, "co dla nich dobre"
Bjarne Stroustrup - twórca c++
Avatar użytkownika
Michal-S2
Intelektryk
Intelektryk
 
Posty: 148
Dołączył(a): sobota, 19 lipca 2008, 13:03
Lokalizacja: Gdańsk
PodziÄ™kowaÅ‚ : 1
OtrzymaÅ‚ podziÄ™kowaÅ„: 1
System operacyjny: Windows 7 Professional OEM 64bit
Kompilator: Turbo C++ Explorer
    NieznanyNieznana

Re: Grafika w Tray Menu

Nowy postprzez Cyfrowy Baron » sobota, 20 wrzeÅ›nia 2008, 08:51

Standardowy komponent PopupMenu w BCB nie ma takiej funkcji. Można co prawda umieszczać w nim grafikę, ale nie jako boczny pasek. Potrzebujesz do tego specjalnego komponentu.

Można jednak przygotować sobie specjalne pliki graficzne i wstawić je jako tło każdego z elementów listy PopupMenu, by dawały w całości boczny pasek.
Coś podobnego zaprezentowałem w serwisie Cyfrowy Baron w dziale porady -> API -> Wypełnianie grafiką PopupMenu
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana

Re: Grafika w Tray Menu

Nowy postprzez Michal-S2 » sobota, 20 wrzeÅ›nia 2008, 13:14

Cyfrowy Baron napisał(a):Standardowy komponent PopupMenu w BCB nie ma takiej funkcji. Można co prawda umieszczać w nim grafikę...

Jak mogę umieścić w nim grafikę, ale tak żeby nie można było zaznaczyć tej pozycji gdzie jest grafika?
Najgorsze nieszczęścia w historii były spowodowane przez idealistów próbujących zmuszać ludzi do tego, "co dla nich dobre"
Bjarne Stroustrup - twórca c++
Avatar użytkownika
Michal-S2
Intelektryk
Intelektryk
 
Posty: 148
Dołączył(a): sobota, 19 lipca 2008, 13:03
Lokalizacja: Gdańsk
PodziÄ™kowaÅ‚ : 1
OtrzymaÅ‚ podziÄ™kowaÅ„: 1
System operacyjny: Windows 7 Professional OEM 64bit
Kompilator: Turbo C++ Explorer
    NieznanyNieznana

Re: Grafika w Tray Menu

Nowy postprzez Cyfrowy Baron » sobota, 20 wrzeÅ›nia 2008, 13:36

Poszukaj w sieci jakiegoś odpowiednika komponentu PopupMenu, gdyż jak wspomniałem standardowy komponent tego nie potrafi, a to z wstawianiem grafiki to jedno z możliwych rozwiązań, ale nie jest to dokładnie tym czego poszukujesz.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana

Re: Grafika w Tray Menu

Nowy postprzez Michal-S2 » sobota, 20 wrzeÅ›nia 2008, 15:33

Napewno da się tak wstawić bitmapę jak jest na zdjęciu(wiem bo czytałem poradę Wypełnianie grafiką PopupMenu). Ale czy da się zrobić jeszcze tak żeby nie można było zaznaczyć tej pozycji? Czy mógłby ktoś pokazać mi jak wstawić bitmapę do PopupMenu, tak jak jest na zdjęciu? I jeszcze jedno pytanie. Czy mogę zmienić wysokość tej pierwszej pozycji żeby zawsze wynosiła ona np. 150px x 40px?
popup.jpg
Nie masz wystarczających uprawnień, aby zobaczyć pliki załączone do tego postu.
Najgorsze nieszczęścia w historii były spowodowane przez idealistów próbujących zmuszać ludzi do tego, "co dla nich dobre"
Bjarne Stroustrup - twórca c++
Avatar użytkownika
Michal-S2
Intelektryk
Intelektryk
 
Posty: 148
Dołączył(a): sobota, 19 lipca 2008, 13:03
Lokalizacja: Gdańsk
PodziÄ™kowaÅ‚ : 1
OtrzymaÅ‚ podziÄ™kowaÅ„: 1
System operacyjny: Windows 7 Professional OEM 64bit
Kompilator: Turbo C++ Explorer
    NieznanyNieznana

Re: Grafika w Tray Menu

Nowy postprzez Cyfrowy Baron » sobota, 20 wrzeÅ›nia 2008, 16:28

Wysokości zmienić nie możesz, ale jeżeli chodzi o wstawienie bitmapy w poziomie nie w pionie i ustawienie tej pozycji w taki sposób, żeby nie można było jej zaznaczać, to wstawiasz taką bitmapę w pozycję separatora menu, czyli tam gdzie element menu ma w Caption myślinik (-), takiej pozycji nie można zaznaczać. Robisz to po prostu tak jak opisałem w poradzie, ale taka nieaktywną bitmapę wstawiasz w pozycję kreski rozdzielającej.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana

Re: Grafika w Tray Menu

Nowy postprzez Michal-S2 » sobota, 20 wrzeÅ›nia 2008, 20:24

Cyfrowy Baron napisał(a):Wysokości zmienić nie możesz...

Zmieniłem wysokość na 30, zrobiłem bitmapę o rozmiarach 200 x 30 i wszystko działało. Ale jak ustawiłem właściwość Caption na "-" to nie zrobiła się linia, tylko wyświetlało się"-". Dlatego zamiast "-" wpisałem " ".

Żeby zmienić wysokość wpisałem:
Kod: Zaznacz cały
void __fastcall TForm1::Pop0MeasureItem(TObject *Sender, TCanvas *ACanvas,
      int &Width, int &Height)
{
Width = 200;
Height = 30;
}
Najgorsze nieszczęścia w historii były spowodowane przez idealistów próbujących zmuszać ludzi do tego, "co dla nich dobre"
Bjarne Stroustrup - twórca c++
Avatar użytkownika
Michal-S2
Intelektryk
Intelektryk
 
Posty: 148
Dołączył(a): sobota, 19 lipca 2008, 13:03
Lokalizacja: Gdańsk
PodziÄ™kowaÅ‚ : 1
OtrzymaÅ‚ podziÄ™kowaÅ„: 1
System operacyjny: Windows 7 Professional OEM 64bit
Kompilator: Turbo C++ Explorer
    NieznanyNieznana

Re: Grafika w Tray Menu

Nowy postprzez Cyfrowy Baron » sobota, 20 wrzeÅ›nia 2008, 21:44

Fakt, przecież sam podałem to rozwiązanie w poradzie, ale nie sposób o wszystkim pamiętać... :oops:
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana

Re: Grafika w Tray Menu

Nowy postprzez Michal-S2 » Å›roda, 1 października 2008, 17:54

Zainstalowałem sobie BDS 2006 i po skompilowaniu tego programu wyświetla mi się komunikat, w którym jest napisane "Resource POP1 not found". Plik "resources.rc" jest dołączony do projektu.
Najgorsze nieszczęścia w historii były spowodowane przez idealistów próbujących zmuszać ludzi do tego, "co dla nich dobre"
Bjarne Stroustrup - twórca c++
Avatar użytkownika
Michal-S2
Intelektryk
Intelektryk
 
Posty: 148
Dołączył(a): sobota, 19 lipca 2008, 13:03
Lokalizacja: Gdańsk
PodziÄ™kowaÅ‚ : 1
OtrzymaÅ‚ podziÄ™kowaÅ„: 1
System operacyjny: Windows 7 Professional OEM 64bit
Kompilator: Turbo C++ Explorer
    NieznanyNieznana

Re: Grafika w Tray Menu

Nowy postprzez Cyfrowy Baron » Å›roda, 1 października 2008, 18:26

To, że jest dołączony nic jeszcze nie znaczy, musi zawierać zasób z identyfikatorem o nazwie POP1. W pliku resources.rc wyglądałoby to tak:


POP1 BITMAP "popup.bmp"
POP2 BITMAP "popup1.bmp"
POP3 BITMAP "popup2.bmp"




plik zasobów musi po prostu zawierać identyfikator zasobu.

Jeżeli zmieniłeś środowisko, a używasz wciąż plik zasobów (*.res) skompilowany w starym środowisku, to może wystąpić niezgodność wersji, nie sprawdzałem tego, ale to możliwe, dlatego sugerowałbym skompilowanie nowego pliku zasobów w nowym środowisku.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana

Re: Grafika w Tray Menu

Nowy postprzez Michal-S2 » Å›roda, 1 października 2008, 18:28

Mam wszystko wpisane w pliku 'resources.rc' i ponownie kompilowałem (nacisnąłem Build).
Najgorsze nieszczęścia w historii były spowodowane przez idealistów próbujących zmuszać ludzi do tego, "co dla nich dobre"
Bjarne Stroustrup - twórca c++
Avatar użytkownika
Michal-S2
Intelektryk
Intelektryk
 
Posty: 148
Dołączył(a): sobota, 19 lipca 2008, 13:03
Lokalizacja: Gdańsk
PodziÄ™kowaÅ‚ : 1
OtrzymaÅ‚ podziÄ™kowaÅ„: 1
System operacyjny: Windows 7 Professional OEM 64bit
Kompilator: Turbo C++ Explorer
    NieznanyNieznana

Re: Grafika w Tray Menu

Nowy postprzez Cyfrowy Baron » Å›roda, 1 października 2008, 18:34

No to nie wiem, ale komunikat informuje, że zasób o nazwie POP1 nie istnieje, więc masz gdzieś błąd, przyjrzyj się jeszcze raz wszystkiemu dokładnie. Jeżeli prawidłowo stworzyłeś plik zasobów i prawidłowo się do niego odwołujesz to nie ma takiej możliwości, żeby to nie działało.
Spróbuj jeszcze skompilować plik *.RC do postaci *.RES i włącz zamiast RC do projektu plik RES.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana

Re: Grafika w Tray Menu

Nowy postprzez Cyfrowy Baron » piÄ…tek, 3 października 2008, 19:59

Chciałem tylko wtrącić trzy grosze apropo tego 'popup menu' z pionowym paskiem graficznym, otórz nie spotkałem się jeszcze z takim popup, a to co widać na zrzucie ekranu, nie wygląda wcale jak popup, lecz jak okno formularza stylizowane na 'popup menu' co zresztą bardzo łatwo można by zrealizować wykorzystując formularz i przyciski typu BitBtn lun SpeedButton.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przeglÄ…da forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 3 gości

cron