| Autor | Správa |
ha2
 Užívateľ
 Založený: 21.12.2008 Príspevky: 114
 | Zaslal: Pi 20.11.09 14:09 |   |
Pocas behu programu si generujem komponenty pricom nazov dopredu neviem ...
| kód: | setlength(pole,i);
pole[i-1]:=Trichedit.Create(self);
pole[i-1].ParentBiDiMode:=true;
pole[i-1].ParentShowHint:=true;
..
atd |
ale neviem ako nastavyt borderstyle na bsNone. Nechcem klasicky vzhlad ale iba ramcek okolo takto
| kód: | pole[i-1].BevelInner:=bvNone;
pole[i-1].BevelKind:=bkFlat;
pole[i-1].BevelOuter:=bvRaised;
pole[i-1].BorderStyle:=bsNone; |
alebo takto co tiez nejde
| kód: | | tRichedit(findcomponent(xxx)).borderstyle:=bsNone; |
|
| |
  |
 |
Fico
 Skúsený užívateľ
 Založený: 11.01.2009 Príspevky: 1049
 | Zaslal: So 21.11.09 18:27 |   |
Ale v čom je vlastne problém? Tento kód nefunguje?
| kód: | pole[i-1].BevelInner:=bvNone;
pole[i-1].BevelKind:=bkFlat;
pole[i-1].BevelOuter:=bvRaised;
pole[i-1].BorderStyle:=bsNone; |
Dalo by sa pomocou cyklu for nastaviť BorderStyle pre všetky prvky poľa, nejako takto, ale neviem, či toto je vlastne ten problém:
| kód: | for j:= 0 to length(pole)-1 do begin
if (pole[j] = nil) then exit;
pole[j].BevelInner:=bvNone;
pole[j].BevelKind:=bkFlat;
pole[j].BevelOuter:=bvRaised;
pole[j].BorderStyle:=bsNone;
end; |
|
| |
   |
 |
ha2
 Užívateľ
 Založený: 21.12.2008 Príspevky: 114
 | Zaslal: So 21.11.09 19:38 |   |
praveze neviem... logicky by to malo brat ved je to nastavenie ako ostatne ale pri tom borderstyle napise tuto chybu
| kód: | | [Error] Unit1.pas(1370): Incompatible types: 'StdCtrls.TBorderStyle' and 'Unit1.TBorderStyle' |
ten cyklus som skusil len z principu a samozrejme to nepomaha |
| |
  |
 |
Fico
 Skúsený užívateľ
 Založený: 11.01.2009 Príspevky: 1049
 | Zaslal: So 21.11.09 20:12 |   |
Takúto chybu vypíše, ak je v unite predeklarovaný typ TBorderStyle (konkrétne v Unit1). Skús sa pozrieť v celom projekte, či v sa v ňom nenachádza takýto typ (myslím deklaráciu v sekcii interface). |
| |
   |
 |
ha2
 Užívateľ
 Založený: 21.12.2008 Príspevky: 114
 | Zaslal: So 21.11.09 21:03 |   |
nieje, a nemozem to menit ani normalne na konkretnej komponente napr richedit1.borderstyle:=bsNone. Mam pocit ze niekedy to slo no niesom si uz teraz isty. |
| |
  |
 |
Fico
 Skúsený užívateľ
 Založený: 11.01.2009 Príspevky: 1049
 | Zaslal: So 21.11.09 21:56 |   |
Keď skúsiš dať RichEdit riadne na formulár a cez Object Inspector nastavíš BorderStyle, tak to nefunguje? Tak potom netuším, kde je chyba, pretože toto funguje za normálnych okolností stále. |
| |
   |
 |
ha2
 Užívateľ
 Založený: 21.12.2008 Príspevky: 114
 |
praveze cez object inspector funguje....len problem je vtom ze pocas behu programu richedit generujem a tam chcem priradit borderstyle bsnone lenze to nechce brat. neviem co stym uz, skus si to som zvedavy ci ti to dovoli |
| |
  |
 |
Fico
 Skúsený užívateľ
 Založený: 11.01.2009 Príspevky: 1049
 | Zaslal: Ne 22.11.09 15:02 |   |
Tu je celý zdroják - kliknutím na "Pridaj RicEdit" sa zväčší pole o jeden prvok TRichEdit. Keď ich bude na forme niekoľko, kliknutím na "Set BorderStyle" sa nastaví border style pre všetky RichEdity na forme. Všetko mi ide, ako má. |
| |
   |
 |
ha2
 Užívateľ
 Založený: 21.12.2008 Príspevky: 114
 | Zaslal: Ne 22.11.09 15:56 |   |
Takze "zahada" vyriesena. Pouzivam tieto komponenty. http://www.tmssoftware.com/site/tmspack.asp no a nenapadlo ma zeby to robilo kvoli tomu. Konkretne AdvGlassButton a AdvGroupBox kniznice. Mozno aj ine neskusal som vsetko. No asi mi ostava vynechat to alebo zabudnut na bsNone. Ak by bol zaujem pastnem sem ci uz zdrojak alebo komplet kebyze sa chces nato pozriet. ale asi ten konflikt nepojde vyriesit. |
| |
  |
 |
Fico
 Skúsený užívateľ
 Založený: 11.01.2009 Príspevky: 1049
 | Zaslal: Ne 22.11.09 16:05 |   |
Tak ja nepoužívam žiadne prídavné komponenty, ale v každom prípade by mal ten balík obsahovať nejakú nápovedu. Ak z tých knižníc používaš TRichEdit, možno bude iný spôsob na odstránenie okraja, ak klasický spôsob nefunguje. Treba to pohľadať v nápovede. |
| |
   |
 |
|