» »

Win32 API in statične knjižnice

Win32 API in statične knjižnice

mov ax 0x7c0 ::

Zdravo!

Zanima ma, če kdo ve, kako bi naredil naslednje:

v glvanem programu bi naredil glavno okno, nato pa bi nekako klical metodo iz knjižnice(ki bi jo napisal sam), da bi oknu dodal kontrole(edit, static, ...). Kontrole bi se morale odzivati na uporabnikova dejanja! Na kaj moram pazit? Kako povežem glavno okno in otroke le tega? Ali obstaja kakšna taka funkcija kot, na primer DllMain() za dll knjižnice?

prosim če mi lahko pomagate?

lp

noraguta ::

stemledobiš nekako takšno funkcionalnost. nevem pa če bo pasalo ravno na tvoj primer.
Pust' ot pobyedy k pobyedye vyedyot!

CCfly ::

Poglej si funkcije:
LoadLibrary
FreeLibrary
GetProcAddress

Priporočam ti da si narediš statično knjižnico, ker resnično ne rabiš dll-ja za to kar misliš narediti.

SasoS ::

Zakaj kontrol ne narediš kar v glavnem programu? Če ne pa ja...v DLLju lahko napišeš DllMain() fukncijo, ki pa kot pri navadnih aplikacijah (main() oz. WinMain()) ni obvezna - dll je lahko samo skupek funkcij ki jih exportiraš. Napiši v googlu dll tutorial pa boš dobil več kot dovolj linkov...

mov ax 0x7c0 ::

Tega ne želim narediti z dll knjižnico. Knjižnica mora biti statična(.lib). Ne vem pa kako naj rešim callback funkcijo glavnega okna? In pa resursi(.rc) kako naj naredim knjižnico tako da bo neodvisna od resursov glavnega programa? V bistvu mi sploh ni jasno kako se zadeve naj lotim? Ali naj ima knjižnica svoje resurse?


lp

CCfly ::

Statično knjižnico prevedeš posebej in jo v glavnem programu vključiš v projekt (predvidevam da delaš z VC++). Prav tako moraš dodati pot do zaglavnih datotek pri knjižnici, drugače ti prevajalnik ne bo našel funkcij.
Novo statično knjižnico ustvariš tako da odpreš nov prazen Win32 projekt in v enih od nastavitev izbereš Static Library in odkljukaš !!! precompiled headers.

Če misliš delati kakšen GUI je tole bolj stran vržen napor, ker boš v glavnem spreminjal prav callback funkcije.

mov ax 0x7c0 ::

Saj vem da bom v glavnem spreminjal samo callback funkcijo. Samo ne vem kje naj le to napišem(v knjižnici ali v glavnem programu), recimo knjižnica doda oknu en property sheet in kako naj sedaj vem kdaj je blo kej v property sheetu kliknjeno, ali premaknjeno,... a moram napisat callback funkcijo za property sheet?

please help

lp

CCfly ::

Saj vem da bom v glavnem spreminjal samo callback funkcijo. Samo ne vem kje naj le to napišem(v knjižnici ali v glavnem programu),

Napiši v glavni program. Knjižnice so namenjene temu, da programski sistem razdeliš na komponenete.

recimo knjižnica doda oknu en property sheet in kako naj sedaj vem kdaj je blo kej v property sheetu kliknjeno, ali premaknjeno,... a moram napisat callback funkcijo za property sheet?

Callback funkcija bi v tem primeru samo dodala property sheet, v kakšnikoli obliki že, v ustrezno podatkovno strukturo, ki se nahaja v glavnem programu.
Kot preprost primer:
callback funkcija za nek gumb, bi naprimer dodala nek vnos v tabelo, ki je definirana drugje v glavnem programu (globalno ali pa se prenese v callback prek kazalca).
Če misliš delati kvečjemu GUI ti priporočam da si pogledaš katero višjenivojsko knjižnico. Jaz bi na primer vzel GTK+ ali wxWidgets.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[JS] Asinhronost

Oddelek: Programiranje
131884 (1352) GupeM
»

c++ lib,dll,h za uporabo v C#

Oddelek: Programiranje
91953 (1752) noraguta
»

C# in slika iz kamere

Oddelek: Programiranje
61351 (1235) ql000
»

[c++] standardni c++ in dogodki(events)

Oddelek: Programiranje
121748 (1573) yeti
»

vprasanje glede niti

Oddelek: Programiranje
7862 (740) NoUse4AName

Več podobnih tem