Új hozzászólás Aktív témák
-
cigam
titán
Most ott tartok, hogy WinForms-ban van az egész. Mikor elinul a súgó, akkor maximalizálja az ablakot, és ennek a felbontásnak a tört részére állítja a betüméretet. Így felbontástól függetlenül mindég ugyanannyi sor fog megjkelenni. Ezt a szöveget átalakítom bitmap képpé. Ez azért jó, mert egy parancsal tudom tükrözni az egészet, nem kell spéci betűtípus. Ezt pixelenként tolom el, így megvan a függőleges scroll.
Most 2 dologgal küzdök. Az 1ik ez a szövegformázás, a másik pedig a directx időzítés. -
cigam
titán
válasz
kingabo
#6485
üzenetére
Nem pont 20 karakter, csak kb. Hogy pontosan mennyi az a felbontás, és betüméret függő. Ha jól láttam a linkelt fürumon pixel pontosan kiszámolja, hogy kifér-e a szöveg. Ez nagyon szimpi, csak még nem értem minden sorát.
Súgógépet próbálok csinálni. Ehez nagy betük kellenek, hogy távolabbról is jól olvasható legyen, ezért nem sok betű fér el egy sorban.

-
cigam
titán
Hogyan lenne egyszerűbb szöveget tördelni pl. 20 karakterenként?
Arra gondoltam, hogy szétrobbantom a szöveget szavakra pl. a string.split-el, és abból rakosgatom össze. Ami elég macerának tűnik.
Elképzelhető, hogy ha egy richtextbox-ba töltöm be, eljátszok valamelyik paraméterével(font méret, magának a box-nak a szélessége) amivel 20 karakteres lesz 1 sor,és a rendszer tördeli be automatikusan. Ki tudom olvasni soronként?
Vagy van még elegánsabb megoldás? -
cigam
titán
Mert érthetetlen. Ha pedig az alap dolgokat nem értik (és az hogy felmondja a leckét, nem jelenti azt hogy érti is, és alkalmazni is tudja), márpedig az objektum orientáltság alapelvei nem egyszerűek(nem is vagyok vele tisztában)
pl. Én se értem miért nevezik az egy dimenziós tömböt vektornak. Igaz nekem nem is próbálták megtanítani. Mindenesetre a vektornak iránya szokott lenni nem pedig elemszáma. Szóval nekem ez elég zavaros.
Persze ez csak az én tudatlanságomat bizonyítja. -
cigam
titán
-
-
cigam
titán
Hátha vkit érdekel: CodeFluent Entities Professional 3 napig ingyenes.
-
cigam
titán
válasz
zsolti_20
#6417
üzenetére
Válaszoltam is. kb. a form1 létrehozása után lefuttathatod az első alap lekérdezést.Ez feltölti adatokkal. Vagy készítesz egy önáló lekérdezést, amit meghívsz az alap paraméterekkel. Ez feltölti a szükséges szövegeket. Aztán később ezt hívod meg (felparaméterezve) a gombra klikkeléskor.
Remélem érthetően nyökögtem el!

-
cigam
titán
válasz
zsolti_20
#6400
üzenetére
másik program funkcióját is bele lehessen iktatni?
Konkrétan mire gondolsz?
van egy textbox, amiben van egy rejtett szöveg de gombnyomásra jelenik meg. Nekem arra lenen szükségem, hogy amint elindul a program ezt a gombot automatikusan megnyomja.
Ennek így se füle se farka. Miért legyen rejtett, amikor egy ből láthatóvá akaros tenni?
-
cigam
titán
válasz
sztanozs
#6396
üzenetére
Mi mással kéne tekerni?
Annyit kellene csinálnia, hogy kiteszi a képet, amikor azt mondom "play" (pl. lenyomom a szóközt), elindul a szöveg finom görgetése, míg a végére nem ér. Ekkor megáll a scroll.Tulajdonképpen egy súgó programot próbálok kifaragni. Lövésem nincs milyen eseményhez kössem ezt.
Az egeres példád csak arra jó, hogy meglássam azt, hogy sokkal gyorsabban is tudja cibálni a képet. Igaz mozgathatnám n+1 pixellel is, de akkor elég darabossá válik a mozgás.
A folyamatos finom görgetés azért fontos, hogy a szöveget el tudják olvasni, nem mellesleg a sebességét változtatva igazodni tudjon a természetes beszéd ritmusához. Ne legyen feltűnő, hogy olvassa.
-
cigam
titán
Próbálok összehozni egy pöpec függóleges scroll-t, de nem az igazi.
Kb működik is, de
- döcög/villog
- Amikor hatalmasra sikerül a kép a rotateflip résznél kiakad(Ez a legkissebb gondom, majd tördelem a szöveget, és akkor nem lesz több ezer pixel széles)
- hiába van 25"ms"-ra állítva, meg-meg akad, és lassucska is.
- Az normális, hogy több mint 700MB RAM-ot eszik?Mivel/hogyan lehet lemérni, hogy 1-1 művelet meddig tart?
Létezik fonmabb, egyenletesebb időzítés?pictureBox1.Visible = true;
timer1.Enabled = true;
// A szövegből grafikát gyártunk
Bitmap bmp = new Bitmap(1, 1);
Graphics grafika = Graphics.FromImage(bmp);
// a betuméretet a függőleges felbontáshoz igazítja
int betumeret = felbontasy / 8;
Font betutipus = new Font("Tahoma", betumeret);
SizeF szovegmeret = grafika.MeasureString (textBox1.Text, betutipus );
bmp = new Bitmap(bmp, (int)szovegmeret.Width, (int)szovegmeret.Height);
grafika = Graphics.FromImage (bmp);
grafika.DrawString(textBox1.Text,betutipus , Brushes.Green, 0, 0);
bmp.Save(@"sugo.bmp");
pictureBox1.Size = new Size(pictureBox1.Size.Width , bmp.Size.Height );
pictureBox1.Image = bmp;
pictureBox1.SizeMode = PictureBoxSizeMode.Normal;
// Ha a kép túl nagy, inkább kiakad, minthogy tükrözné
// pictureBox1.Image.RotateFlip(RotateFlipType.Rotate180FlipY);
szovegvegepozicio = -1*bmp.Size.Height+this.Height ;
}
private void timer1_Tick(object sender, EventArgs e)
{
if (szovegvegepozicio <pictureBox1.Location.Y)
{
pictureBox1.Location = new Point (pictureBox1.Location.X, pictureBox1.Location.Y - 2);
}
}sztanozs
Amit küldtél minta az jó, szépen lehet nagy sebességgel is mozgatni az egérrel. Viszont amint az időzítő tekeri, valami nem stimmol. -
cigam
titán
válasz
#90999040
#3170
üzenetére
Most ismerkedem a c#-al, és nekem is pont ez a gondom(KeyDown eventet akarok elkapni, de az istennek se akar működni). Amint ráprogramozok vmit a keydown-ra, nem működik se a keydown, se az eddig működő mousedoubleclick. Anno egy spéci megoldást ajánlottak rá, de ez a probléma elfedése nem?
Alapból miért nem működik? Valamiért csak odatették.
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- BESZÁMÍTÁS! Acer Predator Helios Neo 18 Ai - Ultra 9 275HX 32GB DDR5 1TB SSD RTX 5070Ti 12GB W11
- Bomba Ár! Lenovo ThinkPad E14 G2 AMD - Ryzen 5 I 8GB I 256SSD I 14" FHD I HDMI I W11 I Gari
- GYÖNYÖRŰ iPhone 13 mini 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS4076, 100% Akkumulátor
- Dell Latitude 7320 i5-1145G7 16GB 256GB 1 év garancia
- ÚJ HP Victus 15 - 15.6" FHD IPS 144Hz - Ryzen 5 8645HS - 16GB - 512GB - RTX 4050 - Win11 - 3 év gari
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest


