window focus

Başlatan ekansdiuqil, 12 Mart 2009 - 18:43:57

« önceki - sonraki »

0 Üyeler ve 3 Ziyaretçi konuyu incelemekte.

ekansdiuqil

C++ kullanarak wxWidgets ile bir program yazdım dialog olarak.
FilterEvent kullanarak tus eventlerini alıyorum ve buna gore farklı dialoglar acıyorum. Fakat bu tusa basma islemini hızlı yaptıgım takdirde program uzerrindeki focusu kaybediyor ve eventleri kacırıyor. Sanırım asıl derdim wxWidgets ile degil ubuntu ile olacak.

Alt+Tab ile yaptıgımız hareketi kodun icinde yapmam gerekli. Bir defa alt+tab event i programımı kurtarmaya yetecek cunku sadece o calısıyor olacak masaustunde.

okanakyuz

oo masaüstü yazıyorsunuz sanırım. Karmasık bir probleme dönebilir. Bir tavsiyede bulunayım o zaman. key stroku için işlem yapan kodu bir fonksiyonun içine yazın daha sonra key strok içine gidin

    #include <unistd.h>
    #include <sys/types.h>

bu başlık dosyaları eklenmeyi unutmadan
kodunuzda şunlar olacak.

        pid_t pid;
        int bekle;

        switch(pid=fork()) {
            case -1:
                mycls.keystr();  /* olmadı fork calışmadı ama kod calıssın*/

            case 0:
                mycls.keystr();  /* hehe başka bir prosess oldu */
                exit(bekle);

            default:
                wait(&rv); /* oyle veya böyle calıstımı ona bak */
        }

ekansdiuqil

Tesekkurler deneyecem bunu da.

Fazla performans derdim olmadıgı icin sorun cıkaran diaolog acma fonksiyonlarindan once sleep atmam cozdu aslında problemimi ama sanırım boyle daha saglıklı bi sonuc elde edecem gibi gorunuyor

okanakyuz

sleep atmak yapay bir çözüm olabilir.