kaban4ik писал(а):
Хотелось бы как то синхронизировать эти изменения.kaban4ik писал(а):
Неужели нельзя как то заставить fpc хотя бы консольные приложения скомпилировать под LinuxРедактировалось 1 раз(а), последний 2018-09-17 11:15:00
Ответов: 4630
Рейтинг: 749
|
|||
kaban4ik писал(а): Хотелось бы как то синхронизировать эти изменения.kaban4ik писал(а): Неужели нельзя как то заставить fpc хотя бы консольные приложения скомпилировать под LinuxРедактировалось 1 раз(а), последний 2018-09-17 11:15:00 |
|||
карма: 26 |
|
Ответов: 203
Рейтинг: 2
|
|||
Заметил следующий баг при отображении иконки в StringTableMT, при сборке "секретным" все хорошо (см. скриншот).
Иконки внутри StringTableMT
|
|||
карма: 0 |
|
Ответов: 4630
Рейтинг: 749
|
|||
Скопировал твой код в новую схему в официальном HiAsm - выглядит так:
Что я сделал неправильно? В модифицированном пакете - аналогично, с любым компилятором. |
|||
карма: 26 |
|
Ответов: 203
Рейтинг: 2
|
|||
Прошу прощения, вот полный пример проблемы
Пример Add(MainForm,2953706,28,84) { Width=831 Height=418 } Add(StringTableMT,4617453,497,91) { Left=3 Top=51 Width=805 Height=325 Columns=#16:Параметры=200==0|16:ВЭУ-1 осн=100==0|16:ВУЭ-2 осн=100==0|16:ВЭУ-3 осн=100==0|16:ВЭУ-1 рез=100==0|16:ВЭУ-2 рез=100==0|16:ВЭУ-3 рез=100==0| TabGrid=0 ImgColumn=0 AssignedIList=0 IconsCheck=[] MiscIcons=[] Icons=['no'=[ZIP4604000078DA75D3CF4B147118C7F18F26B2592CACD80FF4E27A580257D6BDD8C91F1D4B03A74BA59DF250DE764044FB03542CCC3965A0B75CF052AE5A474D0DB2D3B2E6414413490FE5C1E9878A78787A2F96CEA5EFC0C00CBC3EDFE7F9CE335241FE2A10F7906A8BA4CB92AE29FF2C15EAE4FDFF969949A184146E95CA5252F9B0543929C5B252DC57A4DE94BC6B725C93FBD4E48D9B3273A6DC9A9DD8FC2AC7D7E01BF10EBE03DF8D1FC08FE0D3F869FC3C3E8BDFC0EF067C1CDF8C7F8CEFC38FE317F15BF83DFC0FFC2FFC3EFE107F843F0EF844546ABD2EA55AA4E10E69B257CA3E97FCB42236A3A4CDCAB125B9F6599EAD2B633BCA991FF061FC557C153E8EAFC337E16FE1DBF12EBE1F3F869FC27FC26F9EFA42CA2FA2FC62CA0F517E09E55FA0FCB0CF515AA9EA2DA97673D44BCE88797A6B19AD58EED497E1ABF0B5F87A7C0BFE3EFE11BEC7221AC48FE25FE3DFE397F1DB011FC337E1DBF05DF821FC047E019FC3AFE2BFE0BFE2BFE1F7F007019F88D1FE0DDA6FA7FD2EDA1FA2FD09DA5F643E9623B2D5A46CC3916DBBB2EF9ECCCFC80E02BE0CCFD1A56AF10DF8DB78B2FC4E7C2F7E103F867F839FC72FE37702FE1C9EB94D15E3CFE34BF017F17C16AB2C9535E01FE09FE05FE0DFE157025E61B5EA8A528A6A58D59A549DB26A92AF9BB2489B2C9992397D327754E64DC9324BB2DC66C057E2EBF02DF887F81EFC10FE157E1A3F8BFF88674F6F1DBF833F9B9F3809CD247492D04FC238091F48D822C18F987E264DBF1DD301FFD0A1673ACA988E7367F35B81AFC137E2EFE03BF0DDF801FC4B7C1A3F835FC067F1EBF8DD800FFD3D814BF80A7C141FC3C7F10DF87B7817FF0C9FC6CFE1D7FEF991EA683EE30F0E8583AF],'ok'=[ZIP7E04000078DABD934D4B025118856F14B42C110C37126D8C411085201291C15414113F97421BB58D82201A582422D8A64D1005411411514D14117D6E8216AD9A55411045B4994510FD83B77B26070C86A145E470E4CE799F472EE31DC67AF83538C8F8F7309BEE63CCC2181BE5E1156FBEFBFFFA98AA2681A7C923F3502772A7138C5CF38C39373437A438979D34B93749E9CBB41AACD1610646CFB5CC5A72230B2314D80FA84EEA2245C9F3A41AACD16106066CB76B9DB70AB6964D091F86553E7612A3E871F447D06106062C1CCDE7F74DCFA6871267090A1D84C8BFEBD70D6660C0C2D17CBE27397395A1A014A4898D09C380010B47F3ED8B76757FE3EBE3E45E751B060C58389AEF5872A8FBC26FC74FE394BDC952412E50E9A1A4066B749881010B47F35D2B2E397F97A7CA5385AACF55C380010B47F3C7D6C69AF87FEA6FF55F052C1CCDE7CF45F06DFB94E27D911A4AC33060C0C2E93E03DE2D6F2E7214A1F263995AEF2DDD600606ACDE191477C41C7F3ECAD4ED14D55E6AD4FE68ABC11A1D66608CDE017E4E049E268FDC7576E44E27FCF5FB4A24899F0392F8DA2F89D7BD92D8E8310E18B070E07E0163D995CC],'read'=[ZIP7E04000078DABD93CF2B83711CC7BF7E94B4C96ACDC5C5497A4E6E0E5C7675F607B8AC76752007A14589A4383870508A8D49A4263F166965A3C70EB4A2F9954CCF78C856346B6FDFF7B69EACD693833C4FAFA76F9FCFEB757A9E47880A79DB6C423E9B84BB5A880621448B448EE4A430FFB7ABCFA7483C125582226A71A698B6FDAB2E31B89110F351884012E2140578E68C3B3AE5AE817557E54410B5DB1AACA759584FBE608964F2F0CC197774E896B4439B4AE56820E1D8D3D010F9803D9486FDE8BD1439E38E0E5D36463F12F038BC313485A5137C817D472B0B7774E8B231FAB15DB52DF28AC67D0D968D7B53E8D06563F49307680DE9B0ACDF41F8E2A6D0A1CBC6E8A743E808EB68D97F42FBB18EAE8B34DC3719F43EE6F2F0CC197774E8B231FAD913B5E73285A9E71C66749842872E1BA39F3BF3741E3E6025855F41978DD12F9C2B754BB1C4F86D0AC14F9842872E9B926F6031E66ADEBAC1EC431AD12CCAC21D1DBA65BFC1E52B976DED3AD1AD26E14D7E200EE4E19933EEE898FE03BEB822F148D41FEF4D2DCE94BFFE5D01BFF3ADDEEFBCADF13B0FAAFCCEE10A73E8D065C3F61B4086F65C],'error'=[ZIP7E04000078DABD93CF2B04711887BF222ECAE6606FA2D46E2369FD6C6B0F3B892294C88F68D56A420E1CE42069CDC56173709193938BDA3FC21FA0294AC9418A5A2922CCC636FBF17E76776AD53639C84ECFF6ED7D9F67A7B619A52AE4F2F9947C37A9A52AA51A94524141463229CCFFEDD37CA609A66009286215679A575AD96219D581F3B43F7C8FC0E01B3A26908767CEB8A353AEAD095E18BED035B4E137744FE504075D930578E68C3B3A744BDBDAB64BCD17BA4AB78FBDA377262BCDA7DCF7279C7147872E1BB7AFEFBC3683438F08CFD2B5F34E39B8A343978DDBFBC33796BE9091FD87EC5E3DA143978DDB3746EF1089D9F23FBDA0B9EFD9133A74D9B87DCBC083FCA68D9EE97744E3364656BF30BDE92096C8E5E19933EEE8D065E3F6AD234FD6DC7616CB496065CF1B3A74D9B87D68FCD51C5DCB60FD00BF822E1BB7EF9DB1B5482C935E4E3AD83A822774E8B2297D0622B14F6370E50BABFB0ECC6394853B3A74CB3D83D1B863F42F3AE9F99D1C360E81DD93023C73C61D1DAF77A0CF8026988225A088559C697FFDBA0229FDA52EA5DFD6A4F4D3CA949EA8F0860E5D366CBF01AF28C640],'re'=[ZIP7E04000078DABD93CB6AC2401885475AE8B2AEBAEEB2E42DF230813E46C953880BD18D8244DCB871A1144114918164E70DEA8D88F1D2204244E2DF39690652084317A5911387F37F1F849984B18CF865B34CDC9FD9EB3D634F8CB117115189E6BBFFAF2B97CB6922A60817A1383CEE34959BCFE78D62B1E8B6DB6D1A8FC774381CA2608D0E3330696EA150306AB51A8D4623DAED76E4791E6DB7DB2858A3C30C0CD8A45B2A95B44AA5E24E2613DA6C36B45AAD68B158FC083ACCC0808523FD72B96CF6FB7D5AAFD7349BCDA2E74D0B6660C0C2917EB55AE5CBE592A6D329398EA30C18B070A45FAFD7693E9F936DDB341C0E950103168EF41B8D46D4E119F18F3DF37D9FCEE77314ACD1251938D26F369B1CF32008E872B92803062C1CE9B75A2D136773BD5E7F15B070A4DFE974B45EAFE7EEF77B0AC350193060E124DF816EB76B606F8EC723DD6EB7D46006066CDA3B38180C0CCEB98BFD399D4E242FACD1610646F50D8833D2444C119E38371E77DA5F7FAF4496FEF968E91F0F96FE7E67E96F1975C0808503F70BA0C6693F]] Point(Matrix) Point(doMT_Add) Point(doMT_ImageCol) Point(doRefresh) } Add(UpDown,6551239,175,84) { Left=65 Top=20 Hint="Id" Max=7 link(onPosition,12932051:doEvent1,[]) } Add(UpDown,3270665,168,189) { Left=150 Top=20 Hint="Icons" Max=4 link(onPosition,8266570:doEvent1,[]) } Add(Edit,13803365,119,84) { Left=15 Top=20 Text="0" link(onChange,6551239:doPosition,[]) } Add(Edit,2853270,112,189) { Left=100 Top=20 Text="0" link(onChange,3270665:doPosition,[]) } Add(MT_AddData,1726335,427,133) { link(onAdd,4617453:doMT_ImageCol,[]) link(Data1,6551239osition,[(433,125)(181,125)]) link(Data2,3270665osition,[(440,121)(307,121)(307,233)(174,233)]) } Add(Hub,12932051,238,84) { link(onEvent1,13803365:doText2,[(320,90)(320,165)(102,165)(102,97)]) link(onEvent2,1370562:doEvent1,[(298,97)(298,139)]) } Add(Hub,8266570,238,189) { link(onEvent1,2853270:doText2,[(291,195)(291,266)(100,266)(100,202)]) link(onEvent2,1370562:doEvent2,[(298,202)(298,146)]) } Add(Hub,1370562,343,133) { InCount=2 OutCount=1 link(onEvent1,1726335:doAdd,[]) } |
|||
карма: 0 |
|
Ответов: 4630
Рейтинг: 749
|
|||
Выглядит так же как прежняя: вместо иконок в заголовке белые квадратики.
Блин, схему в тег code выкладывать надо Разбираюсь... Редактировалось 2 раз(а), последний 2018-09-25 17:36:39 |
|||
карма: 26 |
|
Ответов: 4630
Рейтинг: 749
|
|||
Итак. В существующих KOL имеем функцию создания ImageList:
KOL.NewImageList
Вопросы: 1) Какое значение будет у свойства ImageList.Colors, если вызвать функцию NewImageList() с параметром AOwner - равным nil - не равным nil 2) Чему равно поле Control в процедуре ThiStringTableMT.SetIcons (и в остальных, где вызывается NewImageList) файла hiStringTableMT.pas ThiStringTableMT.SetIcons
3) А кто угадает почему в описании свойства Bitmaps компонента TabControl написано "16-цветные рисунки"? Редактировалось 5 раз(а), последний 2018-09-26 14:31:34 |
|||
карма: 26 |
|
Ответов: 203
Рейтинг: 2
|
|||
Если вопрос ко мне то я не знаю ответа , я так понимаю можно использовать только 16 цветные иконки .
|
|||
карма: 0 |
|
Ответов: 4630
Рейтинг: 749
|
|||
Вопрос к разработчикам, конечно, как повод порассуждать над таким положением дел и принять какие-то решения. А уже от этого будет зависеть способ решения твоей проблемы.
Редактировалось 1 раз(а), последний 2018-09-28 13:43:15 |
|||
карма: 26 |
|
Ответов: 5227
Рейтинг: 587
|
|||
Netspirit писал(а):
3) А кто угадает почему в описании свойства Bitmaps компонента TabControl написано "16-цветные рисунки"? там ещё и стили толком не работают scr_demo.png |
|||
карма: 4 |
|
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
Netspirit писал(а): ИтакК чему ты задал эти вопросы, ты же прекрасно все сам видишь? |
|||
карма: 22 |
|
Ответов: 4630
Рейтинг: 749
|
|||
Чтобы и ты увидел. Исправлять будешь?
Ответы: 1) Если AOwner=nil, то строка "Result.FColors := ilcDefault;" не выполнится и TImageList.Colors будет инициализировано 0, что соответствует ilcColor. Система в этом случае, как я понимаю, применяет 24-битный цвет (или 256 цветов?). Тогда как автор KOL, вероятно, хотел, чтобы там таки было ilcDefault, что и произойдет в случае AOwner<>nil. Налицо ошибка в NewImageList(), которая была исправлена в новой версии KOL. А поскольку при ilcDefault система подставляет 4-битный цвет, то картинка получается как и представил kaban4ik. Так как у нас забили на официальные обновления KOL, то исправлять KOL никто не будет. 2) Поле Control инициализируется в методе ThiStringTableMT.Init, а этот метод вызывается после заполнения всех свойств, то-есть, после ThiStringTableMT.SetIcons. В методе SetIcons Control всегда равен nil, поэтому NewImageList(Control) не имеет смысла и запутывает код. Нужно заменить в двух местах NewImageList(Control) на NewImageList(nil) (а также в файле hiTreeView.pas). Текущий функционал компонента не изменится. 3) В файле hiTabControl.pas для свойства Bitmaps создаётся ImageList как NewImageList(Applet). А переменная Applet в этот момент не равна nil. Благодаря описанному в (1) баге у созданого здесь ImageList свойство Colors=ilcDefault, то-есть, 4-битный цвет, то-есть "16-цветные рисунки". Автор кода не разобрался в причине этого. Нужно сделать "ImgLst := NewImageList(nil)" и в деструкторе добавить ImgLst.Free. Получим полноцветные значки в TabControl. Я проверил в TabControl - если поставить ImgLst.Colors := ilcColor32 и добавить в приложение компонент StyleXP, то можно использовать качественные 32-битные битмапы с полупрозрачностью. Следовательно, есть возможность использовать значки с полупрозрачностью во всех компонентах, где используется ImageList. Для этого: - добавить ImgLst.Colors := ilcColor32 во всех местах, где вызывается NewImageList или - переделать все свойства типа "массив иконок" или "массив битмапов" в компонентах на использование менеджера IconsManager. А в IconsManager добавить свойство Colors с выбором цветности. Кроме того, можно создать компонент BitmapList аналогично IconsManager, чтобы можно было пользоваться не только иконками, но и битмапами. Вместо нового компонента можно добавить 2 свойства в IconsManager: Type=[Icon, Bitmap] и Bitmaps=массив битмапов. Тогда в этом компоненте можно на выбор использовать иконки или битмапы. Редактировалось 1 раз(а), последний 2018-09-29 14:46:30 |
|||
карма: 26 |
|
Ответов: 5227
Рейтинг: 587
|
|||
Будте готовы к тому что ImageList в control=disabled будет рисовать страшные картинки.
Тут либо Kol править либо наследника делать со всеми вытекающими. В классической теме в меню иконки только 16х16 |
|||
карма: 4 |
|
Ответов: 4630
Рейтинг: 749
|
|||
TabControl с 32-битными битмапами:
(Добавлено ImgLst.Colors := ilcColor32, ImgLst.AddMasked() заменено на ImgLst.Add()) Сделал Enabled=False (если речь об этом) - разницы не заметил. Кстати, делать это в цикле нет никакого смысла: ImgLst.ImgWidth := 16; ImgLst.ImgHeight := 16; Редактировалось 2 раз(а), последний 2018-09-29 18:31:10 |
|||
карма: 26 |
|
Ответов: 5227
Рейтинг: 587
|
|||
Netspirit, в меню(классический стиль винды) и в толбаре точно проявляется.
Чёт не очень красиво рисует. Иконки в каком формате? |
|||
карма: 4 |
|
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
Netspirit писал(а): Исправлять будешьА конкретные исправления можно законченным, проверенным кодом выложить, а не тезисами? |
|||
карма: 22 |
|