Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++, WinAPI] Aero Glass

Ostatnio zmodyfikowano 2012-08-16 08:55
Autor Wiadomość
kszere
Temat założony przez niniejszego użytkownika
[C++, WinAPI] Aero Glass
» 2012-08-15 16:55:01
Czy mógłby ktoś stworzyć kurs lub napisać artykuł przekazujący wiedzę jak zastosować wszystkie możliwości Aero?
W chwili obecnej chodzi mi dokładnie o sam przezroczysty wygląd okna.
P-62585
xevuel
» 2012-08-15 17:05:41
Być może ktoś napisze taki artykuł kiedyś (bardzo wątpię).

W chwili obecnej chodzi mi dokładnie o sam przezroczysty wygląd okna.
» WinAPISetLayeredWindowAttributes
P-62586
m4tx
» 2012-08-15 17:07:12
Jemu chyba nie chodzi o przezroczystość okna, tylko o to, żeby okno było całe "szklane"... :)

Edit:
@kszere
Może to Cię nakieruje na rozwiązanie: http://msdn.microsoft.com/en-us/library/bb688195%28VS.85%29.aspx

Edit2:
O, mam chyba to, o co Ci chodziło:
http://www.codeproject.com/Articles/15770/Vista-Goodies-in-C-Using-Glass-in-Your-UI
(sekcja "Making the Entire Window Glass")

:)
P-62587
kszere
Temat założony przez niniejszego użytkownika
[C++, WinAPI] Aero Glass
» 2012-08-15 17:10:14
@UP Dokładnie tak... Chodzi o efekt szkła.
Edit: zobaczę...

Edit2:
plików .h z atl na początku brakuje np.#include <atlbase.h> :/
P-62588
xevuel
» 2012-08-15 18:07:49
plików .h z atl na początku brakuje np.#include <atlbase.h> :/


The sample code is built with Visual Studio 2005, WTL 7.5, and the Windows SDK.
http://www.codeproject.com/Articles/15770/Vista-Goodies-in-C-Using-Glass-in-Your-UI

It extends ATL (Active Template Library)
http://wtl.sourceforge.net/
P-62593
yoogi
» 2012-08-15 21:20:20
C/C++
#include <windows.h>
#include <commctrl.h>
#include <dwmapi.h>
#pragma comment(lib, "comctl32.lib")
#pragma comment(lib, "dwmapi.lib")

LRESULT CALLBACK WndProc( HWND, UINT, WPARAM, LPARAM );

INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR lStart, INT nShow )
{
    HBRUSH hbrush = CreateSolidBrush( RGB( 0, 0, 0 ) );
    WNDCLASSEX wc;
    wc.hInstance = hInst;
    wc.lpszClassName = "Klasa okna";
    wc.lpfnWndProc = WndProc;
    wc.style = CS_DBLCLKS;
    wc.cbSize = sizeof( WNDCLASSEX );
    wc.hIcon = LoadIcon( 0, IDI_WARNING );
    wc.hIconSm = LoadIcon( 0, IDI_WARNING );
    wc.hCursor = LoadCursor( 0, IDC_ARROW );
    wc.lpszMenuName = 0;
    wc.hbrBackground = hbrush;
    wc.cbWndExtra = 0;
    wc.cbClsExtra = 0;
    if( RegisterClassEx( & wc ) == 0 ) return 0;
   
    HWND hWnd = CreateWindowEx( 0, "Klasa okna", "Tytuł okna", WS_OVERLAPPEDWINDOW, 50, 50, 500, 500, 0, 0, hInst, 0 );
    ShowWindow( hWnd, nShow );
    MSG msgs;
    while( GetMessage( & msgs, 0, 0, 0 ) )
    {
        TranslateMessage( & msgs );
        DispatchMessage( & msgs );
    }
    return msgs.wParam;
}

LRESULT CALLBACK WndProc( HWND hwnd, UINT msg, WPARAM wPar, LPARAM lPar )
{
    if( msg == WM_CLOSE )
    {
        PostQuitMessage( 0 );
    }
    if( msg == WM_PAINT )
    {
        MARGINS margins = { - 1 };
        HRESULT hr = S_OK;
        hr = DwmExtendFrameIntoClientArea( hwnd, & margins );
    }
    else
         return DefWindowProc( hwnd, msg, wPar, lPar );
   
    return 0;
}

W windowsie 8 i tak nie ma aero, jest metro
P-62609
m4tx
» 2012-08-15 22:19:29
W windowsie 8 i tak nie ma aero, jest metro
Na x86/x86_64 jest jedno i drugie. Na ARM nie ma jedynie Aero.
P-62617
yoogi
» 2012-08-16 04:45:32
Aero to Aero, Metro to Metro. Z tego co wiem to Metro to nie jedynie ten drugi pulpit, ale cały interfejs. Aero było jedynie w Viście i Sevenie
P-62627
« 1 » 2
  Strona 1 z 2 Następna strona