想做一个图文混合的编辑器,
想到了richtextbox,但是richtextbox不能实现像word中文字环绕图片的效果(至少我没发现),我不想在程序中嵌入word。
想自己实现一个编辑器,在网上找了很多,发现都是继承于richtextbox的,不能实现文字环绕图片。求高手讲textbox原理,怎么自己设计一个?

解决方案 »

  1.   

    richtextbox是Windows95开始操作系统集成的公共控件,任何类库都是对它做的二次封装,不是从头实现的。
      

  2.   

    感谢版主啊再追一问,自己要从头实现一个richtextbox或textbox是不是难度很大?
      

  3.   

    如果不是很注重性能,可以用WPF做一个
      

  4.   

    还有个办法就是嵌入个WebBrowser,有不少网页版的图文混编控件都做得不错
      

  5.   


    不说RichTextBox,就是TextBox都是灰常滴难啊。
      

  6.   


    自己写当然难度很大,主要是IME输入法,这个很难处理,原来搞了几天,放弃了。
    使用WPF的文字环绕功能,我觉得是可行的,下面是我用WPF做的一个简单的图文并茂的界面
    <Window x:Class="WpfApplication5.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="MainWindow" Height="350" Width="525">
        <Grid>
            <RichTextBox>
                <FlowDocument>
                    <Paragraph >
                        <Grid>
                            <Grid.RowDefinitions>
                                <RowDefinition Height="50"></RowDefinition>
                                <RowDefinition Height="50"></RowDefinition>
                            </Grid.RowDefinitions>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="100"></ColumnDefinition>
                                <ColumnDefinition Width="100"></ColumnDefinition>
                            </Grid.ColumnDefinitions>
                            <TextBlock Text="Hello"></TextBlock>
                            <TextBlock Text="World!" Grid.Row="1"></TextBlock>
                            <Border Background="Gray" Grid.RowSpan="2" Grid.Column="1"></Border>
                        </Grid>
                    </Paragraph>
                    <Paragraph>
                        NIhao
                    </Paragraph>
                </FlowDocument>
            </RichTextBox>
        </Grid>
    </Window>
    遗憾的是Grid中的内容不能输入,可能类似于图片处理了,其实这样就有一定的想象空间了,具体怎么实现自己试试吧。我也不是很确定