mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-15 22:02:49 -06:00
35 lines
No EOL
838 B
C++
35 lines
No EOL
838 B
C++
#include <CtrlLib/CtrlLib.h>
|
|
|
|
using namespace Upp;
|
|
|
|
Image GetShellIcon(int ii, bool large)
|
|
{
|
|
HICON hIcon = NULL;
|
|
const char *kpath = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Icons";
|
|
Vector<String> s = Split(GetWinRegString(AsString(ii), kpath), ',');
|
|
String dll = "shell32.dll";
|
|
if(s.GetCount() == 2) {
|
|
dll = s[0];
|
|
ii = atoi(s[1]);
|
|
}
|
|
return Win32DllIcon(dll, ii, large);
|
|
}
|
|
|
|
struct App : TopWindow {
|
|
ArrayCtrl h;
|
|
|
|
App() {
|
|
Sizeable().Zoomable();
|
|
h.AddColumn("Icon no.");
|
|
h.AddColumn("Small icon").SetDisplay(CenteredImageDisplay());
|
|
h.AddColumn("Large icon").SetDisplay(CenteredImageDisplay());
|
|
h.SetLineCy(32);
|
|
for(int i = 0; i < 200; i++)
|
|
h.Add(i, GetShellIcon(i, false), GetShellIcon(i, true));
|
|
Add(h.SizePos());
|
|
}
|
|
};
|
|
|
|
GUI_APP_MAIN {
|
|
App().Run();
|
|
} |