przeźroczystość konsoli w c++

przeźroczystość konsoli w c++
wilkwielki
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 679
0

jak ustawić przeźroczystość konsoli w c++ z poziomu kodu tak jak mozna ustalić recznie w właściwościach konsoli tzn kolory->nieprzeźroczystość i tam gdzie jest zakres od 30% do 100%
EDIT: znalazłem takie coś SetLayeredWindowAttributes(GetConsoleWindow(), 0, 50, LWA_ALPHA); i mi nie działa pisze

error C2065: 'SetLayeredWindowAttributes' : undeclared identifier
error C2065: 'LWA_ALPHA' : undeclared identifier

moze trzeba załączyć jakąś bibliotekę? lib albo extern "C" ?
a czy mozna zaimportować funkcje z jądra systemu?

AD
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 32
2
Kopiuj
#include <windows.h>

....

HWND hWnd = GetConsoleWindow();
    SetWindowLong(hWnd, GWL_EXSTYLE,
    GetWindowLong(hWnd, GWL_EXSTYLE) | WS_EX_LAYERED);
    SetLayeredWindowAttributes(hWnd, 0, 50, LWA_ALPHA);
wilkwielki
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 679
0

tyle to ja wiem tylko skad załatwić SetLayeredWindowAttributes jak pisze error C2065: 'SetLayeredWindowAttributes' : undeclared identifier

Azarien
  • Rejestracja: dni
  • Ostatnio: dni
1

Dalej się męczymy ze starym kompilatorem w którym nie ma funkcji wprowadzonej dopiero w Windows 2000?

ech…

Kopiuj
	typedef BOOL (WINAPI *LPFNSETLAYEREDWINDOWATTRIBUTES)(HWND hwnd, COLORREF crKey, BYTE bAlpha, DWORD dwFlags);
	HINSTANCE hUSER32 = LoadLibrary("user32.dll");
	LPFNSETLAYEREDWINDOWATTRIBUTES SetLayeredWindowAttributes = (LPFNSETLAYEREDWINDOWATTRIBUTES)GetProcAddress(hUSER32, "SetLayeredWindowAttributes");
    ...
	FreeLibrary(hUSER32);

Nie sprawdzane. To znaczy, sprawdzane, ale nie na VC++ 6.

wilkwielki
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 679
0

wielkie dziękuje za pomoc 😀

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.