Skip to content

Commit 6bdbd07

Browse files
committed
Add text edit control for display text
1 parent 76c7ac6 commit 6bdbd07

File tree

6 files changed

+47
-22
lines changed

6 files changed

+47
-22
lines changed

FontSetViewer.cpp

Lines changed: 33 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -942,6 +942,7 @@ HRESULT MainWindow::Initialize()
942942
AppendLog(AppendLogModeImmediate, L"Windows version is older than Windows 10. Application will have very limited functionality.\r\n");
943943
}
944944

945+
InitializeDisplayTextEdit();
945946
InitializeLanguageMenu();
946947
InitializeFontCollectionFilterUI();
947948
InitializeFontCollectionListUI();
@@ -1172,6 +1173,13 @@ DialogProcResult CALLBACK MainWindow::OnCommand(HWND hwnd, WPARAM wParam, LPARAM
11721173
UpdateFontCollectionListUI();
11731174
break;
11741175

1176+
case IdcText:
1177+
if (wmEvent == EN_CHANGE)
1178+
{
1179+
InvalidateRect(GetDlgItem(hwnd_, IdcFontCollectionList), nullptr, true);
1180+
}
1181+
break;
1182+
11751183
case IdcActivateFontCollectionFilter:
11761184
{
11771185
// Get the focused item to see which filter is being activated.
@@ -1522,14 +1530,20 @@ HRESULT MainWindow::DrawFontCollectionIconPreview(const NMLVCUSTOMDRAW* customDr
15221530
return S_FALSE;
15231531

15241532
// Get the item text and icon index.
1533+
// Check if the text control has any text in it, else just use the listview item text.
15251534
wchar_t textBuffer[256]; textBuffer[0] = '\0';
1526-
LVITEM listViewItem;
1527-
ZeroMemory(OUT &listViewItem, sizeof(listViewItem));
1528-
listViewItem.mask = LVIF_TEXT | LVIF_IMAGE;
1529-
listViewItem.pszText = textBuffer;
1530-
listViewItem.cchTextMax = ARRAYSIZE(textBuffer);
1531-
listViewItem.iItem = itemIndex;
1532-
ListView_GetItem(customDraw->nmcd.hdr.hwndFrom, OUT &listViewItem);
1535+
HWND hwndText = GetDlgItem(hwnd_, IdcText);
1536+
Edit_GetText(hwndText, textBuffer, std::size(textBuffer));
1537+
1538+
LVITEM listViewItem = {};
1539+
if (textBuffer[0] == '\0')
1540+
{
1541+
listViewItem.mask = LVIF_TEXT | LVIF_IMAGE;
1542+
listViewItem.pszText = textBuffer;
1543+
listViewItem.cchTextMax = ARRAYSIZE(textBuffer);
1544+
listViewItem.iItem = itemIndex;
1545+
ListView_GetItem(customDraw->nmcd.hdr.hwndFrom, OUT &listViewItem);
1546+
}
15331547

15341548
// Transfer bitmap into temporary bitmap.
15351549
BitBlt(renderTarget_->GetMemoryDC(), 0,0, rect.right - rect.left, rect.bottom - rect.top, customDraw->nmcd.hdc, rect.left, rect.top, SRCCOPY|NOMIRRORBITMAP);
@@ -1763,13 +1777,13 @@ void MainWindow::OnSize()
17631777
RECT paddedClientRect = clientRect;
17641778
InflateRect(IN OUT &paddedClientRect, -spacing, -spacing);
17651779

1766-
const size_t filterIndex = 0;
1767-
const size_t logIndex = 2;
1780+
const size_t filterIndex = 1;
1781+
const size_t logIndex = 3;
17681782
const long mainWindowThirdWidth = paddedClientRect.right / 3;
17691783
const long mainWindowQuarterHeight = paddedClientRect.bottom / 4;
17701784
WindowPosition windowPositions[] = {
1771-
//WindowPosition(GetDlgItem(hwnd, IdcTags), PositionOptionsFillHeight | PositionOptionsAlignTop),
1772-
WindowPosition(GetDlgItem(hwnd, IdcFontCollectionFilter), PositionOptionsFillHeight),
1785+
WindowPosition(GetDlgItem(hwnd, IdcText), PositionOptionsFillWidth | PositionOptionsAlignTop),
1786+
WindowPosition(GetDlgItem(hwnd, IdcFontCollectionFilter), PositionOptionsFillHeight | PositionOptionsNewLine),
17731787
WindowPosition(GetDlgItem(hwnd, IdcFontCollectionList), PositionOptionsFillWidth | PositionOptionsFillHeight),
17741788
WindowPosition(GetDlgItem(hwnd, IdcLog), PositionOptionsFillWidth | PositionOptionsAlignTop | PositionOptionsNewLine),
17751789
};
@@ -2988,6 +3002,14 @@ HRESULT MainWindow::PopFilter(
29883002
}
29893003

29903004

3005+
HRESULT MainWindow::InitializeDisplayTextEdit()
3006+
{
3007+
HWND hwndText = GetDlgItem(hwnd_, IdcText);
3008+
Edit_SetCueBannerText(hwndText, L"(icon display text)");
3009+
return S_OK;
3010+
}
3011+
3012+
29913013
HRESULT MainWindow::InitializeLanguageMenu()
29923014
{
29933015
HMENU mainMenu = GetMenu(hwnd_);

FontSetViewer.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ class MainWindow
125125
STDMETHODIMP CopyToClipboard(bool copyPlainText = false);
126126
STDMETHODIMP CopyImageToClipboard();
127127
STDMETHODIMP PasteFromClipboard();
128+
STDMETHODIMP InitializeDisplayTextEdit();
128129
STDMETHODIMP InitializeLanguageMenu();
129130
STDMETHODIMP InitializeFontCollectionListUI();
130131
STDMETHODIMP InitializeFontCollectionFilterUI();

FontSetViewer.png

11.4 KB
Loading

FontSetViewer.vcxproj

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,32 +22,29 @@
2222
<VCProjectVersion>15.0</VCProjectVersion>
2323
<ProjectGuid>{04E57A88-8763-438D-8E73-8573C01A6AC4}</ProjectGuid>
2424
<Keyword>Win32Proj</Keyword>
25-
<WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
25+
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
26+
<PlatformToolset>v143</PlatformToolset>
2627
</PropertyGroup>
2728
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
2829
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
2930
<ConfigurationType>Application</ConfigurationType>
3031
<UseDebugLibraries>true</UseDebugLibraries>
31-
<PlatformToolset>v141</PlatformToolset>
3232
<CharacterSet>Unicode</CharacterSet>
3333
</PropertyGroup>
3434
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
3535
<ConfigurationType>Application</ConfigurationType>
3636
<UseDebugLibraries>false</UseDebugLibraries>
37-
<PlatformToolset>v141</PlatformToolset>
3837
<CharacterSet>Unicode</CharacterSet>
3938
<WholeProgramOptimization>true</WholeProgramOptimization>
4039
</PropertyGroup>
4140
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
4241
<ConfigurationType>Application</ConfigurationType>
4342
<UseDebugLibraries>true</UseDebugLibraries>
44-
<PlatformToolset>v141</PlatformToolset>
4543
<CharacterSet>Unicode</CharacterSet>
4644
</PropertyGroup>
4745
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
4846
<ConfigurationType>Application</ConfigurationType>
4947
<UseDebugLibraries>false</UseDebugLibraries>
50-
<PlatformToolset>v141</PlatformToolset>
5148
<CharacterSet>Unicode</CharacterSet>
5249
<WholeProgramOptimization>true</WholeProgramOptimization>
5350
</PropertyGroup>
@@ -161,10 +158,7 @@
161158
<ClCompile Include="FontSetViewer.cpp" />
162159
<ClCompile Include="font\DWritEx.cpp" />
163160
<ClCompile Include="precomp.cpp">
164-
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
165-
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
166-
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
167-
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
161+
<PrecompiledHeader>Create</PrecompiledHeader>
168162
</ClCompile>
169163
</ItemGroup>
170164
<ItemGroup>
@@ -181,13 +175,21 @@
181175
<ClInclude Include="font\DWritEx.h" />
182176
<ClInclude Include="font\precomp.h" />
183177
<ClInclude Include="precomp.h" />
184-
<ClInclude Include="resources\resource.h" />
185178
</ItemGroup>
186179
<ItemGroup>
187180
<None Include="precomp.inc" />
188181
</ItemGroup>
189182
<ItemGroup>
190183
<ResourceCompile Include="resources\FontSetViewer.rc" />
184+
<Image Include="resources\DWriteIcon.ico" />
185+
<Image Include="resources\family-blank.ico" />
186+
<Image Include="resources\font-blank.ico" />
187+
<Image Include="resources\FontSetFilterIcons.bmp" />
188+
<Image Include="resources\FontSetFilterIcons24bit.bmp" />
189+
<ClInclude Include="resources\resource.h" />
190+
</ItemGroup>
191+
<ItemGroup>
192+
<Manifest Include="resources\FontSetViewer.manifest" />
191193
</ItemGroup>
192194
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
193195
<ImportGroup Label="ExtensionTargets">

resources/FontSetViewer.rc

48 Bytes
Binary file not shown.

resources/resource.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
#define IdbFontCollectionFilter 4
1717

1818
#define IdcLog 1000
19-
#define IdcTags 1001
19+
#define IdcText 1001
2020
#define IdcFontCollectionList 1002
2121
#define IdcFontCollectionFilter 1003
2222
#define IdcActivateFont 1004

0 commit comments

Comments
 (0)