WinApi - Przypinanie okna

WinApi - Przypinanie okna
G9
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam

mam taki problem tworze nowe okn na juz istniejacej aplikacji .
w oknie tej aplikacji jest jest rysowany wykres cenowy , jednak utworzone nowe okno miga tak jakby raz bylo na wierzchu raz pod wykresem)

Kopiuj
HWND h = (HWND)3738360;// przekazane z MetaTrader4 uchwyt okna , WindowHandle(Symbol(),Period())
    hwnd = CreateWindowEx (0,szClassName,"Test",WS_CHILD|WS_VISIBLE,20,20, 200, 200,h, NULL,hThisInstance,NULL); 

orientuje sie ktorys z szanownych kolegow co moze byc nie tak :)

pozdrawiam
Andrzej

gswidwa
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 839
0

Może mógłbyś dodać jakąś flagę do okna tak, żeby było ono zawsze na wierzchu?

G9
  • Rejestracja: dni
  • Ostatnio: dni
0

Nie działa :( , chyba że coś źle robię

testowałem na dwa sposoby :

Kopiuj
 hwnd = CreateWindowEx (WS_EX_TOPMOST,szClassName,"Test",WS_CHILD|WS_VISIBLE,20,20, 200, 200,h, NULL,hThisInstance,NULL);

i

Kopiuj
hwnd = CreateWindowEx (0,szClassName,"Test",WS_CHILD|WS_VISIBLE|WS_EX_TOPMOST,20,20, 200, 200,h, NULL,hThisInstance,NULL); 

pozdrawiam
Andrzej

adf88
  • Rejestracja: dni
  • Ostatnio: dni
0

A jak rysujesz wykres? Pokaż w którym miejscu odpalasz funkcję rysującą, po czym rysujesz i jak często, detale odnośnie wyglądu rysunku czyli to gdzie i jakie piksele są rysowane nie jest istotne.

G9
  • Rejestracja: dni
  • Ostatnio: dni
0

adf88 to jest aplikacja zewnetrzna nie pisana przeze mnie .....

ale kolega wyzej nakierował mnie na przypisanie nowej flagi i pomogło tyle że flagę tą przypisałem nie do swojego programu a do zewntrznej aplikacji .

dla potomnych , moze sie komus tez przyda :)

Kopiuj
SetWindowLong(h,GWL_STYLE,WS_CHILD|WS_VISIBLE|WS_CLIPCHILDREN); 

chodzi o flage : WS_CLIPCHILDREN
nie znam angielskiego ale translator przetlumaczyl to tak :

Z wyłączeniem obszaru zajmowanego przez okien podrzędnych, gdy rysunku występuje w okno nadrzędne. Ten styl jest używany podczas tworzenia okno nadrzędne.

pozdrawiam
Andrzej

Azarien
  • Rejestracja: dni
  • Ostatnio: dni
0

nie znam angielskiego

Excludes the area occupied by child windows when drawing occurs within the parent window.
This style is used when creating the parent window.

Wyłącza obszar zajmowany przez okna potomne, kiedy zachodzi rysowanie w oknie nadrzędnym.
Styl ten stosuje się przy tworzeniu okna nadrzędnego.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.