Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Mjenjanje podloge i SystemMenu

[es] :: Pascal / Delphi / Kylix :: Mjenjanje podloge i SystemMenu

[ Pregleda: 2454 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

borovac
127.0.0.1

Član broj: 29278
Poruke: 220
*.as54.ze.bih.net.ba.



Profil

icon Mjenjanje podloge i SystemMenu22.12.2004. u 17:52 - pre 235 meseci
1. Razgledao sam Registry i ključ HKEY_CURRENT_USER\Control Panel\Desktop ima vrijednost ConvertedWallpaper. Ako se toj vrijednosti dodijeli put image fajla (*.bmp,*.jpg...) onda bi se nakon refreša podloga trebala promijenti.
Međutim, ona se ne mijenja, ali kad idem na properties samo trebam kliknuti OK i podloga je promjenjena. Znači ne moram je tražiti, ona je tu, ali na refreš se ne postavlja.
U čemu je problem.
P.S. znam promijeniti wallpaper ali on ne podržava jpg i gif formate

2. Zna li neko kako raditi sa SystemMenijem ako znam handle nekog prozora. Znači kako dodavati, oduzimati i onemogućiti članove ovog menija.

HVALA
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: Mjenjanje podloge i SystemMenu22.12.2004. u 18:08 - pre 235 meseci
Windows i dalje za wallpaper koristi bmp i rle formate, osim ako ti je na desktopu neka web stranica pa sadrzi jpg, gif i ostale slicice. Ako hoces da podesis wallpaper moras jpg sliku prevesti u bmp. To ne bi trebalo da bude problem jer u Dlephi-u mozes da ucitas jpg i da ga snimis kao bmp i zatim taj bmp fajl postavis (kazes da znas kako se postavlja) za wallpaper. Tako radi i ACDSee.

System menu:
Citat:
The GetSystemMenu function allows the application to access the window menu (also known as the System menu or the Control menu) for copying and modifying.

HMENU GetSystemMenu(

HWND hWnd, // handle of window to own window menu
BOOL bRevert // reset flag
);


Parameters

hWnd

Identifies the window that will own a copy of the window menu.

bRevert

Specifies the action to be taken. If this parameter is FALSE, GetSystemMenu returns the handle of the copy of the window menu currently in use. The copy is initially identical to the window menu, but it can be modified.
If this parameter is TRUE, GetSystemMenu resets the window menu back to the Windows default state. The previous window menu, if any, is destroyed.



Return Values

If the bRevert parameter is FALSE, the return value is the handle of a copy of the window menu. If the bRevert parameter is TRUE, the return value is NULL.

Remarks

Any window that does not use the GetSystemMenu function to make its own copy of the window menu receives the standard window menu.
The window menu initially contains items with various identifier values, such as SC_CLOSE, SC_MOVE, and SC_SIZE.
Menu items on the window menu send WM_SYSCOMMAND messages.
All predefined window menu items have identifier numbers greater than 0xF000. If an application adds commands to the window menu, it should use identifier numbers less than 0xF000.

Windows automatically grays items on the standard window menu, depending on the situation. The application can perform its own checking or graying by responding to the WM_INITMENU message that is sent before any menu is displayed.

 
Odgovor na temu

borovac
127.0.0.1

Član broj: 29278
Poruke: 220
*.as54.ze.bih.net.ba.



Profil

icon Re: Mjenjanje podloge i SystemMenu22.12.2004. u 19:17 - pre 235 meseci
hvala
Znači komandom GetSystemMenu ti dodijeliš nekom meniju taj systemski meni. Onda mjenjaš svoj meni. Kada ga izmjenjaš kako ga dodijeliti prozoru, ili mjenjanjem ovog mjenja se i SystemMenu??
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: Mjenjanje podloge i SystemMenu22.12.2004. u 22:52 - pre 235 meseci
GetSystemMenu ti vraca handle sistemskog menija nekog prozora. Kada uzmes taj handle mozes da radis sa njim sta hoces... da dodajes nove podmenije, iteme, itd... Mozes standardne iteme da prevedes na srpski pa kad korisnik klikne desnim na taskbar dugmence tog prozora pisace ti sve na srpskom ;) To sam voleo da radim na Win 3.1... u XP nikad nisam ni pokusao, ali sigurno izgleda lepo :) Ako ne mozes da se snadjes reci pa cu ti napisati neki kratki kod koji sve to demonstrira.
 
Odgovor na temu

borovac
127.0.0.1

Član broj: 29278
Poruke: 220
*.as54.ze.bih.net.ba.



Profil

icon Re: Mjenjanje podloge i SystemMenu23.12.2004. u 12:42 - pre 235 meseci
Ne mogu da se snađem:(
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: Mjenjanje podloge i SystemMenu23.12.2004. u 17:50 - pre 235 meseci
Evo najprostiji primer. Pogledaj sledece komande u help ili jos bolje na MSDN-u:

CheckMenuItem
CheckMenuRadioItem
CreateMenu
CreatePopupMenu
DeleteMenu
DestroyMenu
DrawMenuBar
EnableMenuItem
GetMenu
GetMenuCheckMarkDimensions
GetMenuDefaultItem
GetMenuItemCount
GetMenuItemID
GetMenuItemInfo
GetMenuItemRect
GetMenuState
GetMenuString
GetSubMenu
GetSystemMenu
HiliteMenuItem
InsertMenuItem
IsMenu
LoadMenu
LoadMenuIndirect
MenuItemFromPoint
SetMenu
SetMenuDefaultItem
SetMenuItemBitmaps
SetMenuItemInfo
TrackPopupMenu
TrackPopupMenuEx

Ove funkcije su malo zastarele, ali su i dalje podrzane

AppendMenu
ChangeMenu
InsertMenu
ModifyMenu
RemoveMenu
Prikačeni fajlovi
 
Odgovor na temu

borovac
127.0.0.1

Član broj: 29278
Poruke: 220
*.as54ze.bih.net.ba.



Profil

icon Re: Mjenjanje podloge i SystemMenu25.12.2004. u 20:54 - pre 235 meseci
hvala, ovo mi je bilo korisno.
Samo me muči naredba EnableMenuItem
Kako se koristi, kako onemogućiti SC_MOVE??
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: Mjenjanje podloge i SystemMenu26.12.2004. u 01:40 - pre 235 meseci
Ovo pisem iz glave
Code:
var SMenu:HMenu;
begin
    SMenu := GetSystemMenu( Handle );
    EnableMenuItem( SMenu, SC_MOVE, MF_BYCOMMAND or MF_GRAYED );
end;

To je to.
 
Odgovor na temu

borovac
127.0.0.1

Član broj: 29278
Poruke: 220
*.as54ze.bih.net.ba.



Profil

icon Re: Mjenjanje podloge i SystemMenu28.12.2004. u 16:52 - pre 235 meseci
zašto ovo radi
Code:

hMenuHandle := GetSystemMenu(hwndHandle, False);
if (hMenuHandle <> 0) then
EnableMenuItem(hMenuHandle, SC_CLOSE, MF_BYCOMMAND or MF_GRAYED);

a ovo ne radi
Code:

hMenuHandle := GetSystemMenu(hwndHandle, False);
if (hMenuHandle <> 0) then
EnableMenuItem(hMenuHandle, SC_MOVE, MF_BYCOMMAND or MF_GRAYED);


zašto kada izbrišem SC_MINIMIZE item minimize dugmić je enable, a kad izbrišem SC_CLOSE item close dugmić je zatamnjen??
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: Mjenjanje podloge i SystemMenu28.12.2004. u 23:40 - pre 235 meseci
Citat:
hMenuHandle := GetSystemMenu(hwndHandle, False);
if (hMenuHandle <> 0) then
EnableMenuItem(hMenuHandle, SC_MOVE, MF_BYCOMMAND or MF_GRAYED);
Kako mislis ne radi? Move bude sivo, ali forma i dalje moze da se pomera... tako radi i tako treba i da bude.
Citat:
zašto kada izbrišem SC_MINIMIZE item minimize dugmić je enable, a kad izbrišem SC_CLOSE item close dugmić je zatamnjen??
Probaj da prvo postavis MF_GRAYED za SC_MINIMIZE pa tek onda da ga obrises. Meni tako radi ok na Win XP SP2.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Mjenjanje podloge i SystemMenu

[ Pregleda: 2454 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.