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

taskbar u moju aplikaciju

[es] :: Pascal / Delphi / Kylix :: taskbar u moju aplikaciju

[ Pregleda: 3557 | Odgovora: 15 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

--ja--

Član broj: 4387
Poruke: 232
*.cmu.carnet.hr.

ICQ: 132872590


+3 Profil

icon taskbar u moju aplikaciju30.05.2005. u 18:57 - pre 229 meseci
Postoji li način da koristim windowsov taskbar u mome programu ili neka komponenta koja ima istu funkciju? Taj će program biti zamjena za explorer.exe (defaultni shell) pa je potreban neki način za prebacivanje između pokrenutih programa.
Drugo što me zanima je kako da kad pokrenem neki program i pritisnem maximize on ne prekrije moje start dugme, znači kako reći programima dokle "smiju ići".

Guglao sam, ali bez uspjeha... Hvala unaprijed! (btw, ovo je malčice hitno, imam 10 dana da završim sve skupa...)
http://www.dropbox.com/referrals/NTQ0MTI2NDc5
https://www.agronomija.info/
Failure is not an option. It comes bundled with your Microsoft product.
 
Odgovor na temu

morlic
Milos Orlic
Beograd

Član broj: 6081
Poruke: 735
*.139.EUnet.yu.



+1 Profil

icon Re: taskbar u moju aplikaciju31.05.2005. u 09:44 - pre 229 meseci
Windows task bar u tvom programu ne moze, a za komponentu koja ga imitira ne znam. U gorem slucaju moras ga sam napraviti simulirajuci ponasanje originala. Windows API ima funkcije kao sto su:

SHAppBarMessage (Pogledati u MSDN-u).

sa kojima se dobijaju odredjene stvari kao sto je u ovom slucaju registrovanje prozora koji stoji uz neku ivicu ekrana tako da ga drugi prozori ne prekrivaju ako su maksimizovani, ali nisam siguran kako doticne funkcije rade kada windows task bar nije startovan.
 
Odgovor na temu

--ja--

Član broj: 4387
Poruke: 232
*.cmu.carnet.hr.

ICQ: 132872590


+3 Profil

icon Re: taskbar u moju aplikaciju31.05.2005. u 17:54 - pre 229 meseci
Citat:
morlic: ...ali nisam siguran kako doticne funkcije rade kada windows task bar nije startovan.


Na testnoj mašini (win 98) gdje je kao shell postavljen taj moj program (tj. explorer.exe nije pokrenut) ovo nema efekta, dok na mašini na kojoj radim (windows xp) s default shellom (explorer.exe) primjer radi...

Što se tiče onog prvog, ako vec moram sam sve odraditi, trebam pomoc... Po mojoj nekoj logici treba pronaći sve prozore (programe) koji su pokrenuti i za svaki napraviti jedan gumbić. Javlja mi se problem što uvijek pronađem više tih 'prozora' nego što ih je stvarno vidljivo na ekranu. Na popisu se pojavlju 'Program Manager', moj 'Project1' (koji se ne vidi u windows taskbaru-skriven je), te 'glavna' koja je forma tog 'Project1'. Kako dobiti popis samo onih prozora koji trebaju biti smješteni u taskbaru?

Hvala

btw, onaj primjer sam našao ovdje i neznatno ga preradio.
http://www.dropbox.com/referrals/NTQ0MTI2NDc5
https://www.agronomija.info/
Failure is not an option. It comes bundled with your Microsoft product.
 
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: taskbar u moju aplikaciju31.05.2005. u 18:07 - pre 229 meseci
Imas Win API funkciju IsWindowVisible. U taskbaru se vide samo prozori koji su vidljivi i uz pomoc ove funkcije to mozes i da uradis.
U vezi sa maximiziranjem prozora... mogao bi da hook-ujes sve toplevel prozore i kada prime maximize poruku poziciju preko dela ekrana koji nije zauzet tvojim taskbarom... ne vidim drugi nacin da se to uradi.

BTW kako postavis link u poruci "onaj primjer sam našao ovdje i neznatno ga preradio."?
 
Odgovor na temu

--ja--

Član broj: 4387
Poruke: 232
*.cmu.carnet.hr.

ICQ: 132872590


+3 Profil

icon Re: taskbar u moju aplikaciju01.06.2005. u 19:15 - pre 229 meseci
Ma ok al rezultat je opet isti, jer taj 'Program Manager' se stvarno i vidi na ekranu (to je mislim explorer.exe). U biti, ta mi funkcija za sve prozore vraca true.

Citat:
Srki_82:
U vezi sa maximiziranjem prozora... mogao bi da hook-ujes sve toplevel prozore i kada prime maximize poruku poziciju preko dela ekrana koji nije zauzet tvojim taskbarom... ne vidim drugi nacin da se to uradi.

Zbunjujes me. Nisam neki ekspert i ne shvacam sta mi zelis reci ni kako to postici. Daj bar funkcije koje mi trebaju pa cu trazit dalje.

Ono sto si pitao za url...
(url=http://forums.cacti.net/faq.php?mode=bbcode)Klikni me(/url) ce izgledati ovako: Klikni me. Naravno okrugle zagrade zamijeni uglatima.

Hvala na trudu! Još neki prijedlozi/linkovi/komponente???
http://www.dropbox.com/referrals/NTQ0MTI2NDc5
https://www.agronomija.info/
Failure is not an option. It comes bundled with your Microsoft product.
 
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: taskbar u moju aplikaciju01.06.2005. u 19:30 - pre 229 meseci
Windows Task bar radi kao sto sam ti rekao... za prozore koji su vidljivi kreira dugmence, a za nevidljive ne. Mozes napraviti jos jedan filter... prvo vidis da li je vidljiv prozor pa zatim proveris koje je klase ili kako se zove. Ako vidis da se prozor zove "Program Manager" ili je recimo klase "OLESrvWin" taj prozorcic ne prikazujes... ne znam tacno koje bi klase i nazive voleo da ne vidis pa bi bilo dobro da posaljes listu prozora i klasa koje vidis svojim programom. Funkcija za citanje naziva prozora je GetWindowText, a za uzimanje klase GetClassName.

U vezi sa hook-ovanjem prozora... koristi SetWindowsHookEx proceduru... instaliras hook (mora biti napisam u dll-u jer treba da utice na sve prozore) za WH_CALLWNDPROCRET i kada prozor primi poruku za maximiziranje ti odmah posalji poruku za promenu velicine na vrednost koju ti zelis.

Pogledaj MSDN. Tamo su ti sve funkcije super objasnjene.
 
Odgovor na temu

--ja--

Član broj: 4387
Poruke: 232
*.cmu.carnet.hr.

ICQ: 132872590


+3 Profil

icon Re: taskbar u moju aplikaciju01.06.2005. u 21:10 - pre 229 meseci
Recimo sad vidim slijedeće:
Code:
Form1 - TForm1
Project1 - TApplication
[es] - Pregled poruke - Mozilla Firefox - MozillaWindowClass
Delphi 6 - Project1 [Running] - TAppBuilder
Unit1.pas - TEditWindow
Delphi 6 - TApplication
PSPad - [New3.pas] - TfPSPad
New3.pas - TApplication
Lib - CabinetWClass
Program Manager - Progman

Sad su mi već neke stvari jasnije, trebaju mi u biti samo prozori klase TApplication ali... Firefox koliko vidim je klase MozillaWindowClass. Isto tako 'Lib' (folder otvoren u exploreru) nije TApplication. Kak sad to rijesit? On isto treba biti prikazan u taskbaru... U biti pokusavam napravit zamjenu za originalni windows taskbar, znači sve što se vidi na njemu treba biti vidljivo i na mome.
http://www.dropbox.com/referrals/NTQ0MTI2NDc5
https://www.agronomija.info/
Failure is not an option. It comes bundled with your Microsoft product.
 
Odgovor na temu

--ja--

Član broj: 4387
Poruke: 232
*.cmu.carnet.hr.

ICQ: 132872590


+3 Profil

icon Re: taskbar u moju aplikaciju05.06.2005. u 02:50 - pre 229 meseci
Evo, uspio sam napraviti kakav-takav taskbar. Koga zanima nalazi se prikacen uz poruku. Ima jos sitnica koje treba doraditi ali manje-vise to je to. Trenutno trazim zamjenu za obicni TButton pa ako znate nesto ovakvo, napisite.
1. Treba biti "check-button" (znaci da moze biti stalno pritisnuto npr.)
2. Bilo bi lijepo kad bi se caption mogao poravnati po lijevoj strani
3. Jos bi lijepse bilo kad bi uz taj caption mogla stajati slicica (npr. ikona)

E sad posto sam s ovim dijelom gotov molim pomoc oko slijedeceg:
Citat:
Srki_82: U vezi sa hook-ovanjem prozora... koristi SetWindowsHookEx proceduru... instaliras hook (mora biti napisam u dll-u jer treba da utice na sve prozore) za WH_CALLWNDPROCRET i kada prozor primi poruku za maximiziranje ti odmah posalji poruku za promenu velicine na vrednost koju ti zelis.
Nisam pisao DLL-ove pa nemam pojma kak sve to skupa ide, mozda nesto ovakvo?

I da, ako slucajno nekome treba source od onoga gore, recite pa cu postaviti negdje za desetak dana (prije ne mogu jer mi je to dio maturalne radnje pa da netko ne bi prigovarao...).
http://www.dropbox.com/referrals/NTQ0MTI2NDc5
https://www.agronomija.info/
Failure is not an option. It comes bundled with your Microsoft product.
Prikačeni fajlovi
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Član broj: 32202
Poruke: 4391
*.yu1.net.

Sajt: https://avramovic.info


+46 Profil

icon Re: taskbar u moju aplikaciju05.06.2005. u 10:21 - pre 229 meseci
meni bi trebao source
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
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: taskbar u moju aplikaciju05.06.2005. u 22:50 - pre 229 meseci
Prilicno dobro... samo sto umesto da saljes WM_SHOWNORMAL salji WM_SHOW poruku tako ce prozori koji su maximizirani ostati maximizirani cak i kad kliknes na dugmence u tvom task baru.
Bas me interesuje kako planiras da uradis tray (notification) deo u task baru.
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Član broj: 32202
Poruke: 4391
*.yu1.net.

Sajt: https://avramovic.info


+46 Profil

icon Re: taskbar u moju aplikaciju05.06.2005. u 23:16 - pre 229 meseci
zamena za TButton moze da ti bude TSpeedButton jer on ispunjava sve uslove koje si naveo...........
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

--ja--

Član broj: 4387
Poruke: 232
*.cmu.carnet.hr.

ICQ: 132872590


+3 Profil

icon Re: taskbar u moju aplikaciju15.06.2005. u 22:13 - pre 228 meseci
Evo kao sto sam obecao source+komponenta. Primjetio sam jedan bug da kad su otvorena dva prozora s istim naslovom u taskbaru se pojavi oznaka samo za jedan. Ovo se moze rijesit izmjenom komponente (dodati po jedno prazno mjesto na kraj za svako duplo ime prozora npr.) Ma uglavnom ako netko ima volju nek poispravlja bugove i mozda od svega ovoga skroji neku komponentu...
I nemojte se smijat kodu, ipak sam ja pocetnik ;-)
http://www.dropbox.com/referrals/NTQ0MTI2NDc5
https://www.agronomija.info/
Failure is not an option. It comes bundled with your Microsoft product.
Prikačeni fajlovi
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Član broj: 32202
Poruke: 4391
193.251.169.*

Sajt: https://avramovic.info


+46 Profil

icon Re: taskbar u moju aplikaciju16.06.2005. u 09:47 - pre 228 meseci
sad cu da probam ;)
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Član broj: 32202
Poruke: 4391
193.251.169.*

Sajt: https://avramovic.info


+46 Profil

icon Re: taskbar u moju aplikaciju16.06.2005. u 14:06 - pre 228 meseci
lepo radi, s tim sto mi winamp malo za...ava zato sto se dole skroluje title ;)
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

bondja

Član broj: 10286
Poruke: 167
*.gw.tehnicom.net.



+3 Profil

icon Re: taskbar u moju aplikaciju17.06.2005. u 09:21 - pre 228 meseci
Sto se tice programa generalno OK (samo nastavi tako!), ali probaj da izbegavas GOTO naredbe. Da ne ulazim u pricu odakle one, pa ako postoje zasto ih ne koristiti itd.. Ako hoces da izadjes iz petlje (for, while, repeat), koristi BREAK; a ako hoces da preskocis kod na jednom mestu, ali da se petlja i dalje izvrsava koristi CONTINUE; Primer:
Code:

for i:=0 to 10 do
begin
  if I = 7 then BREAK; // preskace sve linije do end dela, i izlazi kompletno iz petlje
  write( IntToStr(I));
end;

Ispisace:
123456 <-- nema nista posle 6

Code:

for i:=0 to 10 do
begin
  if I = 7 then CONTINUE;  // preskace sve linije do end dela, ali nastavlja petlju
  write( IntToStr(I));
end;

ispisace:
12345689 <--- fali 7!

Jos jedna sitnica:
Code:

if applist.WinList.Strings[wlist]=taskbutton[poredak[br]].Caption then
          begin
            goto izlaz;
          end;

 .. neki kod ....

izlaz;
end;

Umesto goto izlaz, koristi EXIT naredbu.

Pozdrav!


 
Odgovor na temu

--ja--

Član broj: 4387
Poruke: 232
*.cmu.carnet.hr.

ICQ: 132872590


+3 Profil

icon Re: taskbar u moju aplikaciju17.06.2005. u 12:13 - pre 228 meseci

Citat:
bondja: Ako hoces da izadjes iz petlje (for, while, repeat), koristi BREAK


Hvala ti za ovo. Znao sam da postoji bolji nacin da se izadje iz petlje al nisam znao naredbu, a GOTO sam se sjetio jos iz QBASIC-a (LOL).
Hmm tesko da cu nastavit radit na ovome jer sad su pripreme za upis i tak to, meni je odradio ono sto je trebalo. Ako netko zeli nek doradi pa nek i drugi imaju koristi od ovoga. Eh da, onaj timer sam koristio jer je u komponenti vrijeme refresha postavljeno na 3 sec (što je stvarno previše). Izmjenom komponente može se izbacit taj timer. Poz.

http://www.dropbox.com/referrals/NTQ0MTI2NDc5
https://www.agronomija.info/
Failure is not an option. It comes bundled with your Microsoft product.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: taskbar u moju aplikaciju

[ Pregleda: 3557 | Odgovora: 15 ] > FB > Twit

Postavi temu Odgovori

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