Mercurial > dwindows
annotate win/XBrowseForFolder.h @ 2214:c60588f740ec
Win: Add IS_WIN8PLUS macro and disable DW_FCF_COMPOSITION for Windows 8 and higher.
The method used in Vista and Windows 7 to control what is drawn as glass has adverse
side effects on Windows 8 and 10. Mouse clicks on what would be "glass" passed through
to underlying windows due to the use of LWA_COLORKEY to specify transparency color.
Additionally the glass effect has been removed. Glass was the main reason for
implementing DW_FCF_COMPOSITION so just ignore the flag on Windows 8 and higher.
https://stackoverflow.com/questions/4768862/dwmextendframeintoclientarea-without-transparencykey
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Mon, 14 Dec 2020 13:14:27 +0000 |
parents | bf3a6d596cd4 |
children |
rev | line source |
---|---|
632
bf3a6d596cd4
Use better directory browser widget.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
1 // XBrowseForFolder.h Version 1.2 |
bf3a6d596cd4
Use better directory browser widget.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
2 // |
bf3a6d596cd4
Use better directory browser widget.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
3 // Author: Hans Dietrich |
bf3a6d596cd4
Use better directory browser widget.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
4 // hdietrich@gmail.com |
bf3a6d596cd4
Use better directory browser widget.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
5 // |
bf3a6d596cd4
Use better directory browser widget.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
6 // This software is released into the public domain. You are free to use |
bf3a6d596cd4
Use better directory browser widget.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
7 // it in any way you like, except that you may not sell this source code. |
bf3a6d596cd4
Use better directory browser widget.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
8 // |
bf3a6d596cd4
Use better directory browser widget.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
9 // This software is provided "as is" with no expressed or implied warranty. |
bf3a6d596cd4
Use better directory browser widget.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
10 // I accept no liability for any damage or loss of business that this |
bf3a6d596cd4
Use better directory browser widget.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
11 // software may cause. |
bf3a6d596cd4
Use better directory browser widget.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
12 // |
bf3a6d596cd4
Use better directory browser widget.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
13 /////////////////////////////////////////////////////////////////////////////// |
bf3a6d596cd4
Use better directory browser widget.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
14 |
bf3a6d596cd4
Use better directory browser widget.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
15 #ifndef XBROWSEFORFOLDER_H |
bf3a6d596cd4
Use better directory browser widget.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
16 #define XBROWSEFORFOLDER_H |
bf3a6d596cd4
Use better directory browser widget.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
17 |
bf3a6d596cd4
Use better directory browser widget.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
18 #ifdef __cplusplus |
bf3a6d596cd4
Use better directory browser widget.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
19 extern "C" { |
bf3a6d596cd4
Use better directory browser widget.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
20 #endif |
bf3a6d596cd4
Use better directory browser widget.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
21 |
bf3a6d596cd4
Use better directory browser widget.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
22 BOOL XBrowseForFolder(HWND hWnd, |
bf3a6d596cd4
Use better directory browser widget.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
23 LPCTSTR lpszInitialFolder, |
bf3a6d596cd4
Use better directory browser widget.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
24 int nFolder, |
bf3a6d596cd4
Use better directory browser widget.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
25 LPCTSTR lpszCaption, |
bf3a6d596cd4
Use better directory browser widget.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
26 LPTSTR lpszBuf, |
bf3a6d596cd4
Use better directory browser widget.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
27 DWORD dwBufSize, |
bf3a6d596cd4
Use better directory browser widget.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
28 BOOL bEditBox); |
bf3a6d596cd4
Use better directory browser widget.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
29 #ifdef __cplusplus |
bf3a6d596cd4
Use better directory browser widget.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
30 } |
bf3a6d596cd4
Use better directory browser widget.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
31 #endif |
bf3a6d596cd4
Use better directory browser widget.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
32 |
bf3a6d596cd4
Use better directory browser widget.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
33 #endif //XBROWSEFORFOLDER_H |