ボックスアイテムのフォントサイズを設定
for i := 0 to frmConfig.cmbDesignFontName.Count -1 do
begin
frmConfig.cmbDesignFontName.ListItems[i].StyledSettings := [];
frmConfig.cmbDesignFontName.ListItems[i].Font.Size := 11;
end;
フォントと列挙
procedure TfrmMain.initFontCombo;
var
tmpFileList: TstringList;
i: Integer;
DC:HDC;
function EnumFamToLines(lplf: PLOGFONT; lpntm: PNEWTEXTMETRIC;
FontType: DWORD; Lines: LPARAM): Integer; stdcall;
begin
with lplf^ do
// if (lfCharSet = SHIFTJIS_CHARSET) and (lfPitchAndFamily and $0F = FIXED_PITCH) then
// シフトJIS文字セット
if (lfCharSet = SHIFTJIS_CHARSET) then
TStrings(Lines).Add(lplf.lfFaceName);
Result := 1;
end;
begin
tmpFileList := TstringList.Create();
DC := GetDC(0);
tmpFileList.Clear;
frmConfig.cmbDesignFontName.Items.Add(DEFAULT_DesignFontName);
EnumFontFamilies(DC, nil, @EnumFamToLines, LongInt(tmpFileList));
for i := 0 to tmpFileList.Count - 1 do
if pos('@', tmpFileList[i]) = 0 then
frmConfig.cmbDesignFontName.Items.Add(tmpFileList[i]);
tmpFileList.Free;
for i := 0 to frmConfig.cmbDesignFontName.Count -1 do
begin
frmConfig.cmbDesignFontName.ListItems[i].StyledSettings := [];
frmConfig.cmbDesignFontName.ListItems[i].Font.Size := 11;
end;
end;
OnChange のタイミング
iOS では clear で OnChange イベントが発生する
iOS では BeginUpdate、EndUpdate が無いとエラーが起こる可能性がある?
frmMain.cbxValueStep.BeginUpdate;
frmMain.cbxValueStep.Items.Clear;
for i := 0 to TValueStep.count - 1 do
begin
tmpValueStep.serial := i;
ListBoxItem := TListBoxItem.Create(frmMain.cbxValueStep);
ListBoxItem.Tag := tmpValueStep.serial;
ListBoxItem.Text :=tmpWatchPair.pipToPriceStr(tmpValueStep.pip);
frmMain.cbxValueStep.AddObject(ListBoxItem);
end;
frmMain.cbxValueStep.EndUpdate;