botva2

DLL botva2 0.9.9.156

Нет прав для скачивания

Alloc

Новичок
Скажите пожалуйста, как сделать что бы при наведении на item в CheckBox который был нарисован в ботве выводилось его описание? Если у кого есть пример, буду очень благодарен. Долго бьюсь над этим, не получается.. или хотя бы используя descctrl.dll.. заранее спасибо
 

Alloc

Новичок
большое спасибо, но в силу своих скромных познаний в программировании не совсем получается разобраться.. Для каждого айтима свое описание. Если Вас не затруднит, покажите реальный пример как это все должно выглядеть. Буду Вам очень благодарен.
 

sergey3695

Ветеран
Модератор
Alloc,
скажем при навидении (clbSetMouseItemEnterEvent(lb,@lbItemEnter)) стоит так.
Код:
procedure lbItemEnter(ci,ii:integer);
begin
  InfoLabel.Caption:='Caption = 1';
if ACLB[ci].ItemList[ii].Name='RadioButton1Name' then
  InfoLabel.Caption:='Caption = '+ACLB[ci].ItemList[ii].Caption;
  InfoLabel.Visible := True;
end;
=> InfoLabel.Caption:='Caption = 1'; для всех. и InfoLabel.Caption:='Caption = '+ACLB[ci].ItemList[ii].Caption; для RadioButton1Name.
где
clbAddChkBoxItem(lb,'CheckBox1Name','CheckBox1Caption',0,False);
clbAddRadioBtnItem(lb,'RadioButton1Name','RadioButton1Caption',1,True,1);
это для обычного компонент листа. да и в факе есть пример как без этой старой библиотеки сделать.
 
Последнее редактирование:

Alloc

Новичок
Alloc,
скажем при навидении (clbSetMouseItemEnterEvent(lb,@lbItemEnter)) стоит так.
Вы не представляете как я долго ломал голову над этим... пробовал и через descctrl, никак не получалось.. все оказалась проще простого.)
Большое, просто Огромное Вам спасибо)
 

Alloc

Новичок
Будьте добры, подскажите еще одну вещь. Как изменить шрифт в нарисованном с помощью ботвы CheckListBox?
 

sergey3695

Ветеран
Модератор
Хм..а я не знаю. CheckBoxSetFont. первый параметр хендл, а что вместо Font:LongWord ставить хз.
 

Alloc

Новичок
Хм..а я не знаю. CheckBoxSetFont. первый параметр хендл, а что вместо Font:LongWord ставить хз.
Да, я то же обратил внимание на эту функцию.. По идее нужно писать так:

Код:
ButtonFont:=TFont.Create;
  with ButtonFont do
  begin
    Name:='Segoe UI';
    Size:= 9;
    Style:=[];
  end;

CheckBoxSetFont(lb,Font.Handle);
lb это - lb:=CheckListBoxCreate(WizardForm,ScaleX(22), ScaleY(142),ScaleX(237),ScaleY(120));

но что то не работает... Может быть она только для обычных CheckBox'ов и с CheckListBox не работает?
 

sergey3695

Ветеран
Модератор
Alloc,
Код:
function clbAddChkBoxItem(clbind:integer; Name, Caption:PAnsiChar; Level:integer; Checked:boolean):integer;
var
  sbind,CurInd:integer;
  ButtonFont: TFont;
begin
  CurInd:=GetArrayLength(ACLB[clbind].ItemList);
  SetArrayLength(ACLB[clbind].ItemList,CurInd+1);
  ACLB[clbind].ItemList[CurInd].Caption:=Caption;
  ACLB[clbind].ItemList[CurInd].Level:=Level;
  ACLB[clbind].ItemList[CurInd].Name:=Name;
  ACLB[clbind].ChildPanel.Height:=ACLB[clbind].ChildPanel.Height+{#ItemHeight};
  sbind:=sbGetIndByParent(ACLB[clbind]);
  if sbind<>-1 then sbSetVisibility(sbind,ACLB[clbind].ChildPanel.Height>ACLB[clbind].MainPanel.Height);
  ACLB[clbind].ItemList[CurInd].Handle:=CheckBoxCreate(ACLB[clbind].ChildPanel.Handle,Level*{#LevelIndent},{#ItemHeight}*CurInd,ACLB[clbind].ChildPanel.Width-Level*{#LevelIndent},{#ItemHeight},'{#CheckBoxImg}',0,0);
  CheckBoxSetText(ACLB[clbind].ItemList[CurInd].Handle,Caption);
// Font
  ButtonFont:=TFont.Create;
  with ButtonFont do
  begin
    Name:='Arial';
    Size:= 9;
    Style:=[];
  end;
  CheckBoxSetFont(ACLB[clbind].ItemList[CurInd].Handle, ButtonFont.Handle);
// Font
  CheckBoxSetEvent(ACLB[clbind].ItemList[CurInd].Handle, BtnClickEventID, WrapBtnCallback(@ItemClick,1));
  CheckBoxSetChecked(ACLB[clbind].ItemList[CurInd].Handle,Checked);
  ItemCheck(clbind,CurInd,True);
  CheckBoxSetEvent(ACLB[clbind].ItemList[CurInd].Handle, BtnMouseEnterEventID, WrapBtnCallback(@ItemEnter,1));
  CheckBoxSetEvent(ACLB[clbind].ItemList[CurInd].Handle, BtnMouseLeaveEventID, WrapBtnCallback(@ItemLeave,1));
  CheckBoxSetFontColor(ACLB[clbind].ItemList[CurInd].Handle,StrToInt('{#NormalFontColor}'),StrToInt('{#FocusedFontColor}'),StrToInt('{#PressedFontColor}'),StrToInt('{#DisabledFontColor}'));
  Result:=CurInd;
end;
 

Alloc

Новичок
спасибо sergey3695, Вы очень мне помогли

Еще столкнулся с проблемой, по теме... После чего я добавил описание для айтемов в CheckListBox, все работает, но только для активных CheckBox'ов...

Код:
  clbAddChkBoxItem(lb,'CheckBox1Name','Язык интерфейса',0,False);
  clbSetItemEnabled(lb,0,False); // Делаем не активным первый элемент 
  clbAddChkBoxItem(lb,'CheckBox2Name','Русский [Акелла]',1,True);
  clbAddChkBoxItem(lb,'CheckBox3Name','Русский [ENPY Studio]',1,False);
  clbAddChkBoxItem(lb,'CheckBox4Name','Английский',1,False);
Таким образом при наведении курсора на CheckBox1Name, ничего не происходит. Как это решить, подскажите пожалуйста?
 
Последнее редактирование:

Tom

Мимокрокодил
Hi.

I am trying to use botva2.dll with NSIS.
On Windows 8.1 64bit I got simple "error" message after ImgLoad. This is my code:

System::Call"botva2::ImgLoad(i $HWNDPARENT, m '$PLUGINSDIR\background.jpg', i 0, i 0, i 690, i 496, b 1, b 1) i .r0"
System::Call"botva2::ImgApplyChanges(i $HWNDPARENT)"

The I .r0 is $0 and $0 contains "error" result.

When I run the same installer on Windows 7 64bit everything is fine ($0 contains valid number).

Does someone know what is causing this issue?
 

Le9ent

Новичок
Доброго времени суток.

Это у меня только на 10 винде не получается скомпилиировать скрипт из примеров с библиотекой:

progressbar_example.iss
progressbar2_example.iss

После компиляции установщик не полностью запускается и висит в панели приложений. Отрубается только через диспетчер или по команде Ctrl + F2 непосредственно в Inno Setup.

 
Последнее редактирование:

Shegorat

Lord of Madness
Администратор
P.S: Это у меня только на 10 винде не получается скомпилиировать скрипт из примеров с библиотекой:
Библиотека не проверялась на совместимость с win8/10. Для того, чтобы выявить проблему нужно проверять на системе, которой у меня нет.
Проблема именно с ботвой? Возможно проблемы с правами пользователя.
 

Le9ent

Новичок
Библиотека не проверялась на совместимость с win8/10. Для того, чтобы выявить проблему нужно проверять на системе, которой у меня нет.
Проблема именно с ботвой? Возможно проблемы с правами пользователя.
Да нет я единственный пользователь в системе (т.е. админ).
Может кто еще проверит из обладателей десятки (ну или опровергнет).
 
Последнее редактирование:
Сверху