do ÂściÂągnięcia > pobieranie > ebook > pdf > download

[ Pobierz całość w formacie PDF ]
.Teraz pozostaje tylko zapisaæ projekt na dysku (jeœli niezrobi³eœ tego wczeœniej) i skompilowaæ go.Utworzony w ten sposób plikMyCPL.cpl przenieœ do katalogu \Windows\System lub\Winnt\System32.Pouruchomieniu Panelu sterowania powinny pojawiæ siê w nim dwie nowe ikony,reprezentuj¹ce nasze aplety.Mo¿na te¿ „obejœæ” Panel sterowania i wywo³aæaplet bezpoœrednio, wpisuj¹c w oknie Uruchom (menu Start) polecenie [9 Nale¿ypamiêtaæ, ¿e przed nazw¹ funkcji Control_RunDLL (a po przecinku) nie mo¿e byæspacji – przyp.t³um.]rundll32 shell32.dll,Control_RunDLL mycpl.cpl @0Liczba podana po znaku @ jest numerem apletu (okna dialogowego), który mazostaæ wyœwietlony (w powy¿szym przyk³adzie pojawi siê pierwszy aplet; u¿ycieparametru @1 spowoduje wyœwietlenie drugiego).Samo polecenie jest wywo³aniemprogramu rundll32.exe, który z kolei „siêga” do biblioteki shell32.dll iwywo³uje z niej funkcjê Control_RunDLL(), pozwalaj¹c¹ uruchomiæ bibliotekêdynamiczn¹ z odpowiednimi parametrami.Pozostaje jeszcze wyjaœniæ, dlaczego w kodzie apletu obs³ugujemy komunikatCPL_NEWINQUIRE, a nie CPL_INQUIRE, skoro preferowany jest ten drugi.Wynika toz konstrukcji zasobów u¿ytych w projekcie.Struktury NEWCPLINFO i CPLINFO(u¿ywane odpowiednio dla obu powy¿szych komunikatów) wykorzystuj¹ ró¿ne sposobyidentyfikowania zasobów – gdybyœmy zdecydowali siê na obs³ugê komunikatuCPL_INQUIRE i zwi¹zanej z nim struktury CPLINFO, informacje o zasobach (ikona,nazwa i opis) nale¿a³oby przekazaæ w postaci identyfikatorów zasobów.Spowodowa³oby to koniecznoœæ utworzenia odpowiedniego skryptu zasobów (orozszerzeniu rc) i skompilowania go za pomoc¹ kompilatora BRCC32.EXE.Takuzyskany plik.res nale¿a³oby w³¹czyæ do projektu tak samo, jak zrobiliœmy topoprzednio z ikonami.Konieczne by³oby tak¿e w³¹czenie do modu³u g³Ã³wnego plikunag³Ã³wkowego definiuj¹cego identyfikatory zasobów.Dane ³añcuchowe (nazwy iopisy okien dialogowych) nale¿a³oby zdefiniowaæ w pliku.rc w postaci tablicy³añcuchów, np.tak:STRINGTABLEBEGINID_ICONTEXT1 "To jest aplet numer 1";ID_ICONTEXT2 "To jest aplet numer 2";ENDDecyduj¹c siê na wykorzystanie komunikatu CPL_INQUIRE, nale¿y pamiêtaæ, ¿edostêp do zasobów jest w takim przypadku bardziej skomplikowany, wymaga bowiemwykorzystania funkcji LoadResource().Poniewa¿ powoduje to komplikacjêprogramu, a nie przynosi znacz¹cych zysków czasowych (nasz przyk³ad jeststosunkowo prosty), zdecydowaliœmy siê tu na u¿ycie mniej polecanego komunikatuCPL_NEWINQUIRE.Nie zmienia to faktu, ¿e tworz¹c „prawdziw¹”, wiêksz¹aplikacjê, najlepiej post¹piæ zgodnie z regu³ami, tj.obs³u¿yæ komunikatCPL_INQUIRE [ Pobierz caÅ‚ość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • klimatyzatory.htw.pl