Forum Coders' city Strona Główna Coders' city
Nasza pasja to programowanie!
 

 PomocPomoc   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy  RejestracjaRejestracja 
Archiwum starego forum + teoria    RSS & Panel/SideBar
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Potrzebuję szybkiej odpowiedzi na moje pytanie... Zasady

[WinAPI] kłopoty z CreateFontIndirect



 
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Biblioteki
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Jeż



Dołączył: 01 Cze 2005
Posty: 108

PostWysłany: Pon Sty 16, 2006 5:18 pm  OP    Temat postu: kłopoty z CreateFontIndirect Odpowiedz z cytatem Pisownia

Uwaga: to pytanie dotyczy WinAPI (API systemowe Windowsa)!

Napisałem jakiś programik z wykorzystaniem funkcji CreateFontIndirect.
Kłopot polega na tym, że na moim kompie wszystko jest OK, natomiast na kompie kolegi, funkcja ta nie działa. Stosuję ją przy drukowaniu na ekranie i drukarce.

Czy jest jakiś sposób żeby wykryć co jest tego przyczyną?

A może coś jest nie tak z instalacją programu? - bo w czasie odpalania programu pojawia się komunikat "Couldn't find installable ISAM" .

Czemu się to pojawia - nie wiem - bo instalacja przebiegała poprawnie i cały program chodzi dobrze za wyjątkiem drukowania tych fontów.
(WinAPI)
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Jeż



Dołączył: 01 Cze 2005
Posty: 108

PostWysłany: Wto Sty 17, 2006 5:05 pm  OP    Temat postu: Odpowiedz z cytatem Pisownia

Problem z "couldn't find intallable ISAM" już rozwiązałem - wystarczyło zajrzeć do MSDN. Niestety nie miało to związku z problemem podstawowym.

Sprawdziłem czy na kompie kolegi jest biblioteka API - GDI32.DLL z której korzysta CreateFontIndirect - była i korzystał z niej system.

Co więc jest grane?
(WinAPI)
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
marcin_an



Dołączył: 26 Maj 2005
Posty: 18822

PostWysłany: Wto Sty 17, 2006 5:31 pm      Temat postu: Odpowiedz z cytatem Pisownia

gdi32.dll musi być, bo to jedna z najbardziej podstawowych bibliotek Windowsa. Ale może łatwiej by było, gdybyś powiedział chociaż co nie działa, czym się objawia itd.?
(WinAPI)

_________________
Nieaktywny od 2017-04-01
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Jeż



Dołączył: 01 Cze 2005
Posty: 108

PostWysłany: Wto Sty 17, 2006 9:00 pm  OP    Temat postu: Odpowiedz z cytatem Pisownia

Dzięki, za zainteresowanie.

Otóż, jest jeszcze inaczej niż napisałem poprzednio.

Do, dziś myślałem, że jest jak wyżej opisałem. Tymczasem okazuje się, że jest wogóle cyrk. Bowiem, na kopie kolegi sprawdzałem wersję EXE, natomiast u siebie ciągle ćwiczyłem "interpretatorze" VB 5.0 .

Dziś mnie natchnęło, żeby u siebie też sprawdzić wersję exe - okazało się, że jest podobnie - napisy na ekranie są wyświetlane prawidłowo - pod wyliczonymi kątami, natomiast to samo skierowane na drukarkę - nie działa - czego objawem są napisy w postaci poziomych "maczków ". "Maczki" dlatego, że normalnie CreateFontIndirect powinna też regulować wielkość fontów.

Procedurę napisałem uniwersalną - drukowanie odbywa się na zmiennej Object - jest nią do wyboru: Printer lub Picture.
(WinAPI)
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Jeż



Dołączył: 01 Cze 2005
Posty: 108

PostWysłany: Pon Sty 23, 2006 10:26 pm  OP    Temat postu: Odpowiedz z cytatem Pisownia

Przygotowałem prosty kod na podstawie przykładu z AllApi.
Mój prawdziwy kod jest fragmentem większego programu i nie nadawałby się tu jako przykład.
Zachowanie programiku ( dziwne jak dla mnie) jest jednak identyczne.
Proszę o sprawdzenie czy napis wydrukuje się pionowo. W górze napisu powinna być uśmiechnięta buzia.
U mnie:
"Drukowane" na ekran jest wszystko OK. Drukowane spod interpretera VB na drukarkę też jest OK.
Drukowanie z pliku exe - napis jest poziomy.
(WinAPI)



Pulpit.rar
 Opis:

Pobierz
 Nazwa pliku:  Pulpit.rar
 Wielkość pliku:  5.89 KB
 Pobierano:  144 raz(y)

Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
marcin_an



Dołączył: 26 Maj 2005
Posty: 18822

PostWysłany: Pon Sty 23, 2006 11:53 pm      Temat postu: Odpowiedz z cytatem Pisownia

Nie mam drukarki, więc nie mam za bardzo jak testować, ale niepokoi mnie użycie metody Print do wyświetlenia tekstu. Jest to jedna z rzeczy, którą VB taktuje w sposób "specjalny" i możliwe, że podczas kompilacji jest używana inna procedura niż podczas uruchamiania przez IDE. Niedawno ktoś się tutaj pytał o obracanie i dałem mu kod, który podobno działał. Oto link do niego: coderscity/post12880. Sprawdź, czy działa prawidłowo. Jeżeli nie, to przyznaję - nie mam już żadnego pomysłu, co może powodować błąd.
(WinAPI)

_________________
Nieaktywny od 2017-04-01
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Jeż



Dołączył: 01 Cze 2005
Posty: 108

PostWysłany: Sro Sty 25, 2006 10:10 am  OP    Temat postu: Odpowiedz z cytatem Pisownia

Niestety przykładzik który podałeś w linku nie chodził ( mimo zmiany hdc na Printer.hdc). Choć przeczucie co do metody Print Cię nie myliło. Bowiem, znalazłem w MSDN dwa chodzące przykłady drukowania obróconych napisów. Oto link :
http://support.microsoft.com/kb/q175535/
Podobnie do Twojego przykładu, wykorzystują one funkcję TextOut.
Jeden z przykładów wykorzystuje własności obiektu Printer, drugi jest całkowicie napisany w API.
(WinAPI)
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Wyświetl posty z ostatnich:   
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Biblioteki Wszystkie czasy w strefie CET (Europa)

Strona 1 z 1

 
Skocz do:  
Możesz pisać nowe tematy
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Możesz dodawać załączniki na tym forum
Możesz pobierać pliki z tego forum




Debug: strone wygenerowano w 0.09330 sekund, zapytan = 13
contact

| Darmowe programy i porady Jelcyna | Tansze zakupy w Helionie | MS Office Blog |