botva2

DLL botva2 0.9.9.156

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

большое спасибо, но в силу своих скромных познаний в программировании не совсем получается разобраться.. Для каждого айтима свое описание. Если Вас не затруднит, покажите реальный пример как это все должно выглядеть. Буду Вам очень благодарен.
 
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,
скажем при навидении (clbSetMouseItemEnterEvent(lb,@lbItemEnter)) стоит так.

Вы не представляете как я долго ломал голову над этим... пробовал и через descctrl, никак не получалось.. все оказалась проще простого.)
Большое, просто Огромное Вам спасибо)
 
Будьте добры, подскажите еще одну вещь. Как изменить шрифт в нарисованном с помощью ботвы CheckListBox?
 
Хм..а я не знаю. CheckBoxSetFont. первый параметр хендл, а что вместо Font:LongWord ставить хз.
 
Хм..а я не знаю. 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 не работает?
 
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;
 
спасибо 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, ничего не происходит. Как это решить, подскажите пожалуйста?
 
Последнее редактирование:
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?
 
Доброго времени суток.

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

progressbar_example.iss
progressbar2_example.iss

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

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

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