Вверх ↑
Этот топик читают: Гость
Ответов: 2304
Рейтинг: 679
#121: 2025-02-17 11:18:52 ЛС | профиль | цитата
nesco, ошибка если задействовать точку HDHints (Список подсказок к элементам заголовка).
Стандартный пример, только с добавлением занесения данных в точку doHDHints:
Add(MainForm,16559126,343,553)
{
Width=430
Height=319
Caption="-= MST_HDHints =-"
Icon=[ZIP8E1C000078DAE5580970944776EE6149399823B204BB8093025F6B99CAA6E2A4702AAE8A83BD76CC2E6758DB01B25B5B0823C0C654B030878C0EC4690E71188C2C210C42122001160871480884392584CE9184A4B935BA6674228D4633F3F7FBD2FDCFE8346B30E572A52A5DFD4DF7D7DDFF7BDDFDBA5F770F631AF60B36762C13E95836F529C65E638CF9F9493E912D19CA58B8289B38D1CB8F8BF2BAE18C058A36E213F68FCCFB9D0C139F62FF9F426BEA4C147C89423516EC43FE5EDCDD83BBBB91B70777A2911B8DDB3B716B1B6E7C81EB5B90B3195736E27214322391B9B1747B9F1CEB85303C78E08B6D6DE9E9E96869417333EC763434485A5B8B9A1A984CD0EB25BD7F1F6565282941F17D24F59373311C0E878C9D9D42946CD9D686D65629CD6693B4BE5E8AB258842849ABAA505E8ED252940C9473291C4EA78C5D5D429A6C293AD6DE2E45353549DAD0E01365364BAAD3A1B2528AD2560D9093B51E6E375C2E199D4ED952F4ADA3434A6B6991D46693A2EAEA60B54A6A30A0BA5A8EAE5C3740CEE5C8F43367644C4B7B7CEBA4C7C4A4C7C40F9093BD016A10F9AAC70EA2312A8D03E5443DA19C6ACB0FC861FF34FB91D1274757F3D3F4C7601D24275D0D3F564E7AFC9187F6C7DBA55E693F6C2FB9BC4D757F494EFFD1C9C62E975C30EA3AEF5B963D6B12C647CB914244F0CA11CBD22BA7B9D9B7BCBD72CCF53F2CC7274404B7FB47C8B91923447963AF64356E105BC67A29426C64EBC5306B46A8F59C88ABAD675659D356594F878888E43E39CA574CFA1F35CA9E147CE9DEC71E33E2449F9C07DB07D7D6853D56AC0D6348E9E70FCF873464EE6AC88CFEB1B1FEF27EDDAE818B21E149A2E3D04FEFE4A5A12572C41919F91322873DA5CA95E7A89F3C3B99F77C9561CAD0EFF7C37A318239F4B91AE18735DD369B469B9FAFA1A6260D353468B479791AA7D1A8115B48632D28D05805A7D2520DDDBBA6A1D4091A71543053C28CA78598CF04923402E2A8964B4985CC0FF1E5FFCA879E76225DA6CEC3EDA5735199EC80F53B0F2CD9BCBD305581E93287F192D29E7F8CA3325D41C559EEC93FA678728F72DC3BE1416E8AA7613F4B424136339C5BB9C05957C9C1E1E11D2E7EE3469E826EE2E8742937AEDFE14A43B382C6166E282A530CF9C51C55160F2A041258222C60FA6F172D70584B086ECE3D0FDAE9F68DEB1C5D0EC2830E7EFBDA77E4AEB372B1E1C850788F1BEEE612AA749C6BAB393FC4926184C670EEA3A0D2DB19B89B778F2F5FB60C6FBEF9267DF0DEFBF860CE1C7AFB9D77F08759B3E8FDD9B3317DEA54FADDDB6F63F98285FCEEA9731C892CF9C8EE331AF3F96541E8B2526CFC61BE66F56A325B2CBC54AB25015E71FF3E69CBCA785979B9CACD6633AD0E8BE00722B772E4F9CBB9D4F0828D41E86EC0A1C34779644404E685EEA4199FACC78CE5EB69C6F228883CCD12E9F465E1347FED0E446CDCC4E337EDE22818A37E8F92AD41AD3525B479EB0EBE212A8A4C66332FD19652797905AFA8B84F6565E56AAAD5967193C54CEB376EE15B568672DCF5EA47C5CEA0BAAA5C58AC0D3C38781116070793ADB1116FBCF16F346BC60CCCF9CFD9F4DE9C3998357306CD98360DCB8283B9E9663E171B3CF958FC154D53764850B7BD9AC49AE50E8783A6BCF1064F4D3D41DBB66CE1DAA222EAB6DB395A5B485F5CC475F7F20975F5C21EAD9C1F14F3DF0D4DF5D9A5419DD602F1B593B7D81A31ECA9A1B477E766E93BA9E0D655785AEA092D0DB0941590A5380F30EBB9ABB292533C4BF6D443D378FCAD05B6ACCF08257BF9BFFFF3F314FEA757392EFF81ECC77FC7EDC7DF25DBB1777853E26FC996F4166F3AFA26D98E4CE1F684B71461BFA486A4B91AE766B6A0FBD00B1CA75FF7E446FC8A23F9EF95A66D2379D3F651221DA5A6CDDB45BA6D94B77CDB284FF3CE911E57C2902451CE5AD2164E693BFDBEA9FDD46CDE766A16B59E9CC55B53678B74F6F7D296546FBD3D6586C372C06FA528D3F0588D86270C994247862C500E6B16F0044D101D6641FC08FB5ECABDA9E82F9B277CDAD37484B1488D7016FDC11E039ABE34D0E763A6F4F333917E8F747F437E260CF4B9AE60CDFF81FBFD1881F93ECCEB97FFA9D05FE6847E7A3568FDAF51CF8DFB9BE5017EC3313660442FC6A9188571A305F71FEEC348351D377A249E1D3DB25F791FC6F930F699A7FB61845A16308261CC48F667A9789C9FD716B83A7507AE07B7431B07B1DF80E25D027B80C2DD40E93EA048F0FC9D5E14887CEE0E9117288A06F2B60BFE057047ECED9B9B805B1B05645EA45723BDC80E05AE89F6972351B693A1611FFB6F556F864FFF778B13BB6EED54EF6720BB0245F812B470B8EB79D9CDB30AEA4A056FE6700A9FDF55A3C063E3301772EDCD331C6D7A059D268EE62A8E2671DEB454290D0559BCE1EE258EC6720E4B9102BD383B6A6A3DD01771A432E147545B30D43075DDE1CEBAAFEB6F1F538412C5FD00E46C7793D22D2E79AD6E441F3C46A5C53A51233A67EF82ABB193D025A6A5A012D1F1C7E1B6B6926273C069B4C16DB403B56D947A361BA9695980B109EE3213751769E1D676714F9105382A3668864FBFCE37FEDB9FC6D96F1D94E357A8CBC13D6D2D40B713D4DE86A4E4246E29D3021E37B8DD26C1E1E884A5A41849C7924175B51CC2BF7A8C0690D90834D4F32B972EE24AC639E1534D100705E745B9A08A464E45E550C4CD0967D535C850D5A33F24AEF14EBCF4F51E727693A7A39DC8E321DED646871313C950564610DCDDD444EEC64612F770329494D0E1A424E2562B719B8D5CE20C542C16710ED451E6850B94999141E22A4C9E8A0AF294DE23AA6CE1545C454A22239C1BA4FFD667B12D0589EAF8E5F9005777EFAD3B332B8BE4D3B45F20F557BC4F455D1FEF575F595C8C8A82022FEB76897E5401860E0E9D159428C69F3668FE8BC3634DD70EA0BCBA4E292B2A2687B8D117151622342404D3A64FA715E2FEF0C5D6ADD8F4F9E7D8141A4A5F444561C5D2A59836732636AE5A459BD7AEC5C64F3FC526D17EFB9A35347FFE7CFC71EE5C6C5FB912A11F7E48852793D1A96DE4E5672E81A4FD3307E9D76F892B3DBF0D4753CE2B292929FCC2B973F8E0BDF7E48B4382FBD227E6F37EFF0E4E7F7D9A9FDC1FEB5D7FD77DF3DFA33F3F34AEE15E926A7F397F2FBEF412F9FBFB4B4E164B0DE9743A32E88D64349AC8683291DE28F20603998C66951B445E2F20F35E6E229D5E2FEF4CAA0CFF71A3E9C5BF15E7B7B4D53161FFD441FAF356C7DA0A937BED3F7EFC780C1B36BC9FBDA9BF996940F2D0FA817C989FF497AF70951D13E33F3168FEF3D7C6D6DD3DD2AB3F30301013FEEE59B5F992A83D14B472131647EDC6E2885D12141CBE13C1E1D1FD78F4002EDB067DB6094B22F7A8FA273C3F1EBF9E3859D54FC9427FEA20FD79ABC5FC1FEDD1CF9F7FFE05BCF2E273DE5767E054CEFC2783FD661AD8CBEF0AFE2E67BFFE0FA8087C087F5970D9567EF3F2542982BF3269229E1BFF6AFFF10F9EFFB8C682C45EFB4F9A3489020202D44934E8AB49AFAB12AE45D853D8DDA4176B4157ED8541E7C543B8AEBA52A43A5546C0587F9AF4C2BFF6D97FB0FEEA2DB1659776E1FCD53CC56AAD25593462C4885EFB75B635A3C162449BADFEA1FBFD517CD4183FB10F86F2BAC2128887397069D0FC576E8AADBABC1739774A15BDC1482BC5BE9D2BF6EF5AB1AF5784ACA48C8CF368B437A150F89575EBC269C947CBB070E1227CBCEC137C28EED50B172DC2C2458BB130582298962CFD188B857FF870F112AC5D1746F366FE1ECBFE2792EB736E00D2FF640DD27F67555CAB36A5D7FE32A3D56A7BF76F5858983A90AAAAAA27DAFFC56927D575006BB3D7FF9CFEBEFD6D857DFB9F88F76C20690B5AB162859AAF13BE5DF2A46FBE5179A2381BE0767BDB8A3782F0D324BFBE7EF52A5DCFC9117E5CF85EBB9D603512C4D1055D1DF10461FFB4C1FE676D6CA3CFFF139747E083FEFFBA505A5A1A4A4B4BD4F19C4C4DEDB5AFFCCFE561F62EB9978F92BC5C2F13F250A38762ECE464A88322C77F66F0FC87C4DA8BFAFC8F9B06FCEB4373E7FD118B967C82575F7BBD575F716129E2BE390AA5C349E4E670D95AC09B5A01878BD2332E89BE5D00DA3AA1D4D413371BA08EBFA6D57BFE7CEBD3DF73FE154649FF0B3176C5ED6CE3EE4E3BBA1DEDE279DBD86BCF3FCD9FA3F6C7E56C172F6A272C55E538917C049E561BE71D2D70D55BA034D68873B189E7646620E7A2989BA67A28A66AEEAE2C14779356EEA9D6F78C7FE0FCDBAFC559BEDB4F86F3219EEAB3E2CD757F37C584CD566D2DB13F6C2EA1F630D55CD942C6CC0D2ACC590217D6AB305D882043C63A329D0925F33991A67F2EB086CCA7D790E95B81D415643815C98DA7846C79FE670FD29FF10FB18E53BF4567F109A5FDE65EB16ECE63FD47B3557BA7C5ED205C7F5FF8CC97D0BC6F143A62C750674C009C077F09CFE167051FADF2CE98D1E8FCDA1F1D3101E43AF82BB8E27F898EAF9E9165A2FE193CF86A3497EDB8F47F377DF37F830DC135C6BA43D8D77C8FB8175E59A8E0EC7442E19FE9D686404C9D28DA9A56119287A1763183730383238291003A24C2058FF47215EB555087AFDE11E5ABDFC0E8C13AC63B451D4E0A3D17D83CA4CB7DE7BB7F26F9C5B7450F475734F338A219EFD82ADAC50D259CF5A7EE5D8CD746FC3519C203C81CE92FC18D223579F3BDDCD88F9B7CF5266F3937473E43BACF472BC6C800B8A4FFCBF3DDBF0DBEF9D7461EB55FDC809AEC049735FBA0C79A19C7ADD9F18AEDEA374AEDE5384FCDE5438AF5CA21A536FB9052977DC85323526BF6A3B90F9EDAAC03BCEE7ABABBE66A0255EE605062BCEF0F778298FF2CA669BE99F02F9D67A61F729E7811CE944074A5BE06874067CA64384EBE06A78AC9709EF2E1E4E4C7E25D3EC832C7A9D7D1726232AA760FFFB8348C4D10EF6C4DD936F59F47AF0DBE64818867712A0EB25881B87E3CEE89785F790C8F65715D07D8B69E479FD4DF936FCB58FEB3BD7F0F86FC86556DF6E6E59FB026C69EBA2AFC4A0E63BF906FF3C89F01F2CD3B85B19152EFFF020A5DC321]
Position=1
link(onCreate,5199123:doData,[])
}
Add(MST_HDHints,9681438,511,364)
{
OnEmptyAreaHint="Пустая область. Здесь по ПКМ можно вызвать контекстное меню"
OnDividerHint="Область разделителя элементов"
OnDivopenHint="Область элемента нулевой ширины"
CustomHDHintsIcon=[ZIPBE10000078DAED96596B135118868FFFA0575EF7D26BFF80FE02F1BF141484D8D816458BAD4B95DC5450505C4012C6A5AD5504F7858A8D0D6D9AA64B260BDDB7B436141EBF734E26AD2298998C7A932F3C49F820E779E7CCE49B51EA80BC5A5B957E57775B943AA8943A24484B1D55B6AF2BDAA29AD5AC6635AB597F2E42A6EE5A79700C46AEC2972A237DF0F90A7CBA2C5C828FF2F9BE073E08EF2EC2DB0BF0FA3CBC3A072FCFC28B2E18EE80A1A8D045B2DB9FDF7D1A81F5F53D5657711C0796976169091616A054B2BD7C1E7239989981A929DB1B1F87B131181D85AFF2FDB64FFFC06928972D9B9B2683595772B0B26273CCCFDB5EB16833CCCD990CA6974E432A05C9A46408E01F14FFF6B6656BCBE430EBEABD585BB31916176D4FF6A1966176D6F632199898B019BEA5FDFB9F9D814A0576762C92C3ACABF76363C3E6903D303DD90793A15000D7B5BD6C162627ED794865FCFB87A3388984251E0F7CCD3BB198D0EFDFFFBC13AFF43A69399F41D0BF65623A80BF233CFFE45C287E75F8B82F6AFE4CEEFF1E7FD60DE4D7D7B1A651BFD37FB3A1E3F7F6607F8E7AAF7F3313670A0DFB7F3D0F666D990BE6BF5E9D8F3FCDA47DF388E970FDC6ADCBF3EB99E4F9E5DE509B899E7FB6189ABFE6D625F3F1AFF9DFC4D0193C3CF75EAF133DA3DDC176F4BDCA1D88E03E3E85FB487312377102372E3C6C3370C79F7FF7BAB2F7FF2AE6B8E5B3D2A702C13D7FFEF5EEDFAF5388F8272F70DFE7F3CF93364A43BD424FC31487AF91E9F5E7370F7FB7247708946FF877FFD387DC3A6B57A923DF4344D66BD7EBFE00B31E5081]
MSTControl="tbl_1"
HintManager="hint_1"
Point(onHDMouseDown)
Point(doHDHintsTitle)
Point(doHDHintsIcon)
Point(doHDHints)
link(onHDMouseDown,10706546:doEvent,[])
}
Add(MTStrTbl,13822300,420,203)
{
Left=15
Top=10
Width=390
Height=205
Name="tbl_1"
Hint="Строковая таблица MT"
CustomHintIcon=[ZIPBE10000078DAED56D94E5351143DFE014F3EF3E85FE817F833249A98201588468DE080A609A9A432D596F9A80C5663E23C0423958696022DBD6D99E799C272EF737A6F4BD4C82D179FBA9BD536EB61AFD53DF50A71865EE5E582DF85AF4C88B342887304A2C405A1790E57992845294A518A52FC3BE0308E1DCB818BC0F003E07B0EC30DC0B7FBC0D77B84BBC017FAFC54077C267CBC037CB805BCBB09BCBD01BCB90EBCAE0582D5C0908B508BD06D7BFA467F25B0B696C7CA0AA494C0D212B0B808CCCF0333339A4BA580641288C7818909CD8D8D01A3A3C0C808F083BEB7DAD41FB80A6C6E6A6C6C280F2A2FF9C0F2B2F63137A7B94C467B989E561E14178D02E130100A918722F407497F7B5B636B4BF95079B916ABABDAC3C282E6A80E9687444273B1181089680F3FA3F6F55F5E03F6F680DD5D0DF2A1F2723DD6D7B50FAA81E2A80ECA433A0D1886E6262781F171DD8770CCBE7ED005D9DBABD1D303D9DD0DD9D505D9D909D9D101190840FA7C90EDED906D6D902D2D90CDCD905E2F645313A4C703D9D808E976133CF6F55FD5C08AC343209BD5BF2B570B550773267816781E6767551F14477DB06A10992A42BF1A47823CA8BCFBFB790FD407C5F12CF04EE4FAA038731F780EC6A74FAE4FA1F21E1CE43D9833C93B515003C5F12C700D681F114B3AA7CF41BD501E682FAC9D28A8817513781FB907934651FA9CE78FE8EBD37369CEA2DF9F9FC5D6D6DFE7D0E375F6F773701F767634C7FBC837817B60DE04BE07B48B6A06E269E7F5792768061497BB8F476E52C13DC2D429E87398FAB95D3467C0BA89A67E22733AFA741F4F4DFFBD1BECE1EFA801DF6863B00AFC5F650C54C2787E05C633C66518BD9760F410BA2A14D0664F3FFB4860AFC139E0A93DFD357A5E48573A8314017E9BCF3F2F2A3033544FA83B3132C18788D5DBD3570F7F4FC8B703D87C6C5FFBBF3EE41E33B2429CDF711094AF8AF3FE026858D47B]
HintManager="hint_1"
Columns=#4:1111|4:2222|4:3333|6:4444=0|4:5555|
Point(onMouseEnter)
Point(doHintTitle)
Point(doHintIcon)
}
Add(HintManager,15662105,119,161)
{
Name="hint_1"
Font=[Tahoma,8,0,0,1]
HintWidth=150
}
Add(StyleXP,4982811,63,161)
{
}
Add(MT_IndexToChanel,10706546,567,364)
{
link(onEvent2,8541827:doCase,[])
}
Add(Case,8541827,616,371)
{
Value=Integer(-1)
link(onTrue,14249610:doPopupHere,[])
}
Add(PopupMenu,14249610,665,378)
{
Menu=#20:Первый пункт меню HD|20:Второй пункт меню HD|20:Третий пункт меню HD|
}
Add(CheckBox,12729944,119,210)
{
Left=10
Top=225
Width=200
TabOrder=-1
Ctl3D=0
WinStyle=1
Caption="Заголовок подсказки MTStrTbl"
link(onCheck,4669538:doEvent1,[])
}
Add(VisualStrings,2862160,294,210)
{
Width=81
Point(doText)
Point(onText)
link(onText,5524623:doWork2,[])
}
Add(VisualStrings,13436319,294,238)
{
Lines=#8:MTStrTbl|
Width=81
Point(doText)
Point(onText)
link(onText,5524623:doWork3,[(389,244)])
}
Add(IndexToChanel,14462171,224,210)
{
link(onEvent1,2862160:doText,[])
link(onEvent2,13436319:doText,[(270,223)(270,244)])
}
Add(HubEx,5524623,385,210)
{
link(onEvent,13822300:doHintTitle,[])
}
Add(CheckBox,13190310,119,280)
{
Left=215
Top=225
Width=190
Enabled=1
TabOrder=-1
Ctl3D=0
WinStyle=1
Caption="Иконка подсказки MTStrTbl"
Point(doEnabled)
link(onCheck,8170748:doEvent,[])
}
Add(IndexToChanel,8170748,224,280)
{
link(onEvent1,6559263:doText,[])
link(onEvent2,12636435:doText,[(270,293)(270,314)])
}
Add(VisualStrings,6559263,294,280)
{
Lines=#1:0|
Width=25
Point(doText)
Point(onText)
link(onText,4057643:doWork2,[])
}
Add(VisualStrings,12636435,294,308)
{
Lines=#1:7|
Width=25
Point(doText)
Point(onText)
link(onText,4057643:doWork3,[(396,314)])
}
Add(HubEx,4057643,392,280)
{
Angle=3
link(onEvent,13822300:doHintIcon,[(396,223)])
}
Add(CheckBox,10875718,112,364)
{
Left=10
Top=250
Width=200
TabOrder=-1
Ctl3D=0
WinStyle=1
Caption="Заголовок подсказок MST_HDHints"
link(onCheck,13334718:doEvent1,[])
}
Add(CheckBox,10447617,112,434)
{
Left=215
Top=250
Width=190
Enabled=1
TabOrder=-1
Ctl3D=0
WinStyle=1
Caption="Иконка подсказок MST_HDHints"
Point(doEnabled)
link(onCheck,3520463:doEvent,[])
}
Add(VisualStrings,1574058,294,364)
{
Width=81
Point(doText)
Point(onText)
link(onText,11140811:doWork2,[])
}
Add(VisualStrings,2057228,294,392)
{
Lines=#11:MST_HDHints|
Width=81
Point(doText)
Point(onText)
link(onText,11140811:doWork3,[(389,398)])
}
Add(IndexToChanel,4746328,224,364)
{
link(onEvent1,1574058:doText,[])
link(onEvent2,2057228:doText,[(270,377)(270,398)])
}
Add(HubEx,11140811,385,364)
{
link(onEvent,9681438:doHDHintsTitle,[])
}
Add(IndexToChanel,3520463,224,434)
{
link(onEvent1,1619123:doText,[])
link(onEvent2,5952591:doText,[(270,447)(270,468)])
}
Add(VisualStrings,1619123,294,434)
{
Lines=#1:0|
Width=25
Point(doText)
Point(onText)
link(onText,3403275:doWork2,[])
}
Add(VisualStrings,5952591,294,462)
{
Lines=#1:7|
Width=25
Point(doText)
Point(onText)
link(onText,3403275:doWork3,[(396,468)])
}
Add(HubEx,3403275,392,434)
{
Angle=3
link(onEvent,9681438:doHDHintsIcon,[(396,377)])
}
Add(Hub,4669538,175,210)
{
link(onEvent1,14462171:doEvent,[])
link(onEvent2,13190310:doEnabled,[(200,223)(200,272)(109,272)(109,293)])
}
Add(Hub,13334718,175,364)
{
link(onEvent1,4746328:doEvent,[])
link(onEvent2,10447617:doEnabled,[(200,377)(200,426)(102,426)(102,447)])
}
Add(StrList,5538477,406,504)
{
Strings=#24:Первый элемент заголовка|24:Второй элемент заголовка|24:Третий элемент заголовка|27:Четвертый элемент заголовка|23:Пятый элемент заголовка|
}
Add(DoData,5199123,406,567)
{
link(onEventData,9681438:doHDHints,[(488,573)(488,384)])
link(Data,5538477:Text,[])
}
Add(StrList,6776915,518,252)
{
}

Опечатка в 64 строке:
    procedure _work_doHDHints(var _Data: TData; Mode: integer);
Нужно изменить на:
    procedure _work_doHDHints(var _Data: TData; Index: word);

И еще одна ошибка. Если отключить в свойстве HintManager = empty (тестировать на выложенной выше схеме), то подсказки не отображаются. Если не вносить строки подсказок через doHDHints, то отключение HintManager никак не влияет (все работает).

Редактировалось 2 раз(а), последний 2025-02-17 11:36:31
карма: 11

0
Разработчик
Ответов: 26177
Рейтинг: 2128
#122: 2025-02-19 00:09:24 ЛС | профиль | цитата
То, что с опечаткой -- да, это мой косяк точно. И как я вообще только умудрился это безобразие туда воткнуть???

С HintManager попробую разобраться

--- Добавлено в 2025-02-19 00:23:41

Попробуй сделать так и тестани
procedure THIMST_HDHints.SetHintManager;
begin
if not Assigned(sControl) then exit;

if Value = nil then
// if HDHints.Text = '' then
// exit
// else
Value := defHintHD.getInterfaceHint;

hid := Value.init(sControl.GetWindowHandle);
Value.hint(hid, '');
fHint := Value;
end;

--- Добавлено в 2025-02-19 00:47:15

Это была попытка повторить менеджер из Win. Там при пустом поле Hint внутренний менеджер не создается. Тут интерфейс создается в любом случае, но, как оказалось, не инициализировался при пустом списке. А при наличии внешнего менеджера мы получаем его интерфейс.

--- Добавлено в 2025-02-19 00:53:40

Результат отпиши, а то надо обязательно править все это безобразие.

Редактировалось 9 раз(а), последний 2025-02-19 00:53:40
карма: 22

0
Разработчик
Ответов: 26177
Рейтинг: 2128
#123: 2025-02-19 02:08:06 ЛС | профиль | цитата
А лучше всего пойти по пути Win и создавать внутренний интерфейс хинта только при необходимости, а не постоянно:


procedure THIMST_HDHints.SetHintManager;
begin
if not Assigned(sControl) then exit;

if Value = nil then
begin
defHintHD := THIHintManager.Create;
defHintHD.InitByDefault;
Value := defHintHD.getInterfaceHint;
end;

hid := Value.init(sControl.GetWindowHandle);
Value.hint(hid, '');
fHint := Value;
end;
Тогда вот это надо отключить:

//initialization
// defHintHD := THIHintManager.Create;
// defHintHD.InitByDefault;
карма: 22

0
Ответов: 2304
Рейтинг: 679
#124: 2025-02-19 07:37:51 ЛС | профиль | цитата
nesco писал(а):
И как я вообще только умудрился это безобразие туда воткнуть???
Да никогда невозможно все предусмотреть, для этого и существует тестирование и правки.
И первый вариант правок и второй работают без проблем, пробовал различные варианты. У себя оставил второй вариант правок и продолжу тестирования. На данный момент проблем не выявил.
карма: 11

0
Разработчик
Ответов: 26177
Рейтинг: 2128
#125: 2025-02-19 18:41:45 ЛС | профиль | цитата
sla8a писал(а):
На данный момент проблем не выявил.

Тогда добавлю правки на SVN
карма: 22

0
125
Сообщение
...
Прикрепленные файлы
(файлы не залиты)